

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# リポジトリの作成
<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 サービスの制限については、「[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.  **[Next (次へ)]** を選択します。

1.  **[AWS カウント]** で、ドメインを所有するアカウントにサインインしている場合は、**[この AWS アカウント]** を選択します。別の AWS アカウントがドメインを所有している場合、**[異なる AWS アカウント]** を選択してください。

1.  **[ドメイン]** で、リポジトリを作成するドメインを選択します。

    アカウントにドメインがない場合は、作成する必要があります。新しいドメインの名前を **[ドメイン名]** に入力します。

    **[Additional configuration (追加設定)]** を展開します。

    ( 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 キーを使用する場合、**[カスタマーマネージドキー]** を選択してください。**[カスタマーマネージドキー ARN]** で管理している KMS キーを使用するには、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.  **[Next]** (次へ) を選択します。

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>

タグを使用してリポジトリを作成するには、`--tags`パラメータを`create-domain`コマンドに追加してください。

```
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)を参照してください。