

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 리포지토리 생성
<a name="create-repo"></a>

CodeArtifact에서 모든 패키지는 [리포지토리](codeartifact-concepts.md#welcome-concepts-repository)에 저장되므로, CodeArtifact를 사용하려면 리포지토리를 만들어야 합니다. CodeArtifact 콘솔, AWS Command Line Interface (AWS CLI) 또는를 사용하여 리포지토리를 생성할 수 있습니다 CloudFormation. 각 리포지토리는 생성할 때 사용하는 AWS 계정과 연결됩니다. 여러 리포지토리를 가질 수 있으며, 이러한 리포지토리는 [도메인](codeartifact-concepts.md#welcome-concepts-domain)에서 생성되고 그룹화됩니다. 생성되는 리포지토리에는 패키지가 포함되지 않습니다. 리포지토리는 다국어 개체이며, 따라서 지원되는 모든 유형의 패키지가 단일 리포지토리에 포함될 수 있습니다.

단일 도메인에 허용되는 리포지토리 최대 수 같은 CodeArtifact 서비스 제한에 대한 자세한 내용은 [in AWS CodeArtifact 할당량](service-limits.md) 섹션을 참조하세요. 허용된 리포지토리 최대 수에 도달한 경우, [리포지토리를 삭제](delete-repo.md)하여 추가 공간을 확보할 수 있습니다.

리포지토리에는 하나 이상의 CodeArtifact 리포지토리가 업스트림 리포지토리로 연결될 수 있습니다. 이렇게 하면 패키지 관리자 클라이언트가 단일 URL 엔드포인트를 사용하여 둘 이상의 리포지토리에 포함된 패키지에 액세스할 수 있습니다. 자세한 내용은 [CodeArtifact에서의 업스트림 리포지토리 작업](repos-upstream.md) 단원을 참조하십시오.

CloudFormation으로 CodeArtifact 리포지토리를 관리하는 방법에 대한 자세한 내용은 [AWS CloudFormation을 사용하여 CodeArtifact 리소스 생성](cloudformation-codeartifact.md) 섹션을 참조하십시오.

**참고**  
리포지토리를 생성한 후에는 리포지토리 이름, 관련 AWS 계정 또는 도메인을 변경할 수 없습니다.

**Topics**
+ [리포지토리 생성(콘솔)](#create-repo-console)
+ [리포지토리 생성(AWS CLI)](#create-repo-cli)
+ [업스트림 리포지토리를 사용하여 리포지토리 생성](#creating-a-repository-with-an-upstream)

## 리포지토리 생성(콘솔)
<a name="create-repo-console"></a>

1. [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home) AWS CodeArtifact 콘솔을 엽니다.

1.  탐색 창에서 **리포지토리**를 선택한 다음 **리포지토리 생성**을 선택합니다.

1.  **리포지토리 이름**에 리포지토리의 고유한 이름을 입력합니다.

1.  (선택 사항) **리포지토리 설명**에 리포지토리에 대한 설명을 입력합니다.

1.  (선택 사항) **업스트림 리포지토리 게시**에 Maven Central이나 npmjs.com 같은, 리포지토리를 패키지 기관에 연결하는 중간 리포지토리를 추가합니다.

1.  **다음**을 선택합니다.

1.  **AWS 계정**에서, 도메인을 소유한 계정으로 로그인한 경우 **이 AWS 계정**을 선택합니다. 다른 AWS 계정이 도메인을 소유하고 있는 경우 **다른 AWS 계정**을 선택합니다.

1.  **도메인**에서 리포지토리를 생성할 도메인을 선택합니다.

    계정에 도메인이 없는 경우 도메인을 만들어야 합니다. **도메인 이름**에 새 도메인의 이름을 입력합니다.

    **추가 구성**을 확장합니다.

    도메인의 모든 자산을 암호화하려면 AWS KMS key (KMS 키)를 사용해야 합니다. AWS 관리형 키 또는 관리하는 KMS 키를 사용할 수 있습니다.
**중요**  
CodeArtifact는 [대칭 KMS 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks)만 지원합니다. [비대칭 KMS 키](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks)를 사용하여 CodeArtifact 도메인을 암호화할 수 없습니다. KMS 키가 대칭인지 비대칭인지 확인하는 방법은 [대칭 및 비대칭 KMS키 식별](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)를 참조하세요.
   +  기본 AWS 관리형 키를 사용하려면 **AWS 관리형 키**를 선택합니다.
   +  관리하는 KMS 키를 사용하려면 **고객 관리형 키**를 선택합니다. 관리하는 KMS 키를 사용하려면 **고객 관리형 키 ARN**에서 KMS 키를 검색하여 선택합니다.

    자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [AWS 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) 및 [고객 관리형 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)를 참조하세요.

1.  **다음**을 선택합니다.

1.  **검토 및 생성**에서 CodeArtifact가 무엇을 생성하고 있는지 검토하세요.
   +  **패키지 흐름**에서는 도메인과 리포지토리 연결 상태를 확인할 수 있습니다.
   +  **1단계: 리포지토리 생성**에서는 생성될 리포지토리 및 선택적 업스트림 리포지토리 관련 세부 정보가 표시됩니다.
   +  **2단계: 도메인 선택**에서는 `my_domain`에 관한 세부 정보가 표시됩니다.

    준비가 되었으면 **리포지토리 생성**을 선택합니다.

## 리포지토리 생성(AWS CLI)
<a name="create-repo-cli"></a>

`create-repository` 명령을 사용하여 도메인에 리포지토리를 생성합니다.

```
aws codeartifact create-repository --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --description "{{My new repository}}"
```

출력 예시:

```
{
    "repository": {
        "name": "{{my_repo}}",
        "administratorAccount": "{{123456789012}}",
        "domainName": "{{my_domain}}",
        "domainOwner": "{{111122223333}}",
        "arn": "arn:aws:codeartifact:{{region-id}}:{{111122223333}}:repository/{{my_domain}}/{{my_repo}}",
        "description": "{{My new repository}}",
        "upstreams": "[]",
        "externalConnections"" "[]"
    }
}
```

새 리포지토리에는 패키지가 포함되어 있지 않습니다. 각 리포지토리는 리포지토리가 생성될 때 인증된 AWS 계정과 연결됩니다.

### 태그를 사용하여 리포지토리 생성
<a name="create-repo-cli-tags"></a>

태그가 있는 리포지토리를 만들려면 `create-domain` 명령에 `--tags` 파라미터를 추가합니다.

```
aws codeartifact create-repository --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --tags {{key=k1,value=v1 key=k2,value=v2}}
```

## 업스트림 리포지토리를 사용하여 리포지토리 생성
<a name="creating-a-repository-with-an-upstream"></a>

리포지토리를 생성할 때 업스트림 리포지토리를 하나 이상 지정할 수 있습니다.

```
aws codeartifact create-repository --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} \
  --upstreams repositoryName={{my-upstream-repo}} --repository-description {{"My new repository"}}
```

출력 예시:

```
{
    "repository": {
        "name": "{{my_repo}}",
        "administratorAccount": "{{123456789012}}",
        "domainName": "{{my_domain}}",
        "domainOwner": "{{111122223333}}",
        "arn": "arn:aws:codeartifact:{{region-id}}:{{111122223333}}:repository/{{my_domain}}/{{my_repo}}",
        "description": "{{My new repository}}",
        "upstreams": [
            {
                "repositoryName": "{{my-upstream-repo}}"
            }
        ],
        "externalConnections"" "[]"
    }
}
```

**참고**  
업스트림을 사용하여 리포지토리를 만들려면 업스트림 리포지토리에서 `AssociateWithDownstreamRepository` 작업을 수행하는 데 필요한 권한이 있어야 합니다.

생성된 리포지토리에 업스트림을 추가하려면 [업스트림 리포지토리 추가 또는 제거(콘솔)](repo-upstream-add.md#repo-upstream-add-console) 및[업스트림 리포지토리 추가 또는 제거(AWS CLI)](repo-upstream-add.md#repo-upstream-add-cli) 섹션을 참조하세요.