CodeArtifact リポジトリをパブリックリポジトリに接続する - CodeArtifact

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

CodeArtifact リポジトリをパブリックリポジトリに接続する

CodeArtifact リポジトリと、https://npmjs.comMaven Central リポジトリなどの外部パブリックリポジトリとの間に外部接続を追加できます。次に、 CodeArtifact リポジトリにまだ存在しないパッケージをリポジトリからリクエストすると、パッケージを外部接続から取得できます。これにより、アプリケーションで使用されるオープンソースの依存関係を使用できるようになります。

では CodeArtifact、外部接続を使用する意図された方法は、特定のパブリックリポジトリへの外部接続を持つドメインごとに 1 つのリポジトリを持つことです。例えば、npmjs.com に接続する場合、ドメイン内の 1 つのリポジトリを npmjs.com への外部接続で設定し、他のすべてのリポジトリをそのアップストリームに設定します。こうすることで、npmjs.com から取得済みのパッケージを再度取得し保存することなく、すべてのリポジトリがパッケージを利用できます。

外部リポジトリに接続する (コンソール)

コンソールを使用して外部リポジトリへの接続を追加すると、以下のことが起こります。

  1. 外部-storeリポジトリのリポジトリがまだ存在しない場合は、 CodeArtifact ドメインに作成されます。これらの -store リポジトリは、リポジトリと外部リポジトリの中間リポジトリとして機能し、複数の外部リポジトリに接続できます。

  2. 適切な -store リポジトリがリポジトリのアップストリームとして追加されます。

次のリストには、 の各-storeリポジトリ CodeArtifact と、それらが接続するそれぞれの外部リポジトリが含まれています。

  1. commonsware-store は CommonsWare Android リポジトリに接続されています。

  2. google-android-store は、Google Android に接続されます。

  3. gradle-plugins-store は、Gradle プラグインに接続されます。

  4. maven-central-store は、Maven Central リポジトリに接続されます。

  5. clojars-store は、Clojars リポジトリに接続されます。

  6. npm-store は、npmjs.com に接続されます。

  7. nuget-store は、nuget.org に接続されます。

  8. pypi-store は、Python Packaging Authority に接続されます。

  9. rubygems-store は RubyGems.org に接続されています。

外部リポジトリに接続するには (コンソール)
  1. https://console.aws.amazon.com/codesuite/codeartifact/home で AWS CodeArtifact コンソールを開きます。

  2. ナビゲーションペインで、Domains(ドメイン) をクリックし、リポジトリを含むドメイン名を選択します。

  3. リポジトリの名前を選択します。

  4. [Edit] を選択します。

  5. [アップストリームリポジトリ][アップストリームリポジトリを関連付け] を選択し、アップストリームとして接続されている適切な -store リポジトリを追加します。

  6. [リポジトリを更新]をクリックします。

-store リポジトリがアップストリームリポジトリとして追加されると、 CodeArtifact リポジトリに接続されたパッケージマネージャーは、それぞれの外部リポジトリからパッケージを取得できます。

外部リポジトリに接続する (CLI)

を使用して AWS CLI 、 CodeArtifact リポジトリに外部接続を直接追加することで、リポジトリを外部リポジトリに接続できます。これにより、 CodeArtifact リポジトリまたはその下流リポジトリに接続されているユーザーは、設定された外部リポジトリからパッケージを取得できるようになります。各 CodeArtifact リポジトリに設定できる外部接続は 1 つだけです。

特定のパブリックリポジトリへの外部接続については、ドメインごとに 1 つのリポジトリを用意することをお勧めします。他のリポジトリをパブリックリポジトリに接続するには、外部接続のリポジトリをアップストリームとして追加します。あなたやドメイン内の他のユーザーがコンソールですでに外部接続を設定している場合、そのドメインには、接続するパブリックリポジトリへの外部接続を備えた -store リポジトリがすでにある可能性があります。-store リポジトリとコンソールでの接続の詳細については、「外部リポジトリに接続する (コンソール)」を参照してください。

CodeArtifact リポジトリに外部接続を追加するには (CLI)
  • associate-external-connection を使用して、外部接続を追加します。次の例では、リポジトリを npm パブリックレジストリ (npmjs.com) に接続します。サポートされている外部リポジトリのリストについては、「サポートされている外部接続リポジトリ」を参照してください。

    aws codeartifact associate-external-connection --external-connection public:npmjs \ --domain my_domain --domain-owner 111122223333 --repository my_repo

    出力例:

    { "repository": { "name": my_repo "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo", "description": "A description of my_repo", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs", "packageFormat": "npm", "status": "AVAILABLE" } ] } }

外部接続を追加した後に、外部接続を使用して外部リポジトリにパッケージをリクエストする方法については、「外部接続からのパッケージのリクエスト」を参照してください。

サポートされている外部接続リポジトリ

CodeArtifact は、次のパブリックリポジトリへの外部接続をサポートします。 CodeArtifact CLI を使用して外部接続を指定するには、associate-external-connectionコマンドを実行するときに --external-connectionパラメータの名前列の値を使用します。

リポジトリタイプ 説明 [Name] (名前)
npm npm 公開レジストリ public:npmjs
Python (パイソン) Python パッケージインデックス public:pypi
Maven (メイヴン) Maven Central public:maven-central
Maven (メイヴン) Google Android リポジトリ public:maven-googleandroid
Maven (メイヴン) Gradle プラグインリポジトリ public:maven-gradleplugins
Maven CommonsWare Android リポジトリ public:maven-commonsware
Maven Clojars リポジトリ public:maven-clojars
NuGet NuGet ギャラリー public:nuget-org
Ruby RubyGems.org public:ruby-gems-org

外部接続を削除する (CLI)

associate-external-connection コマンドを使用して追加された外部接続を削除するには AWS CLI、 を使用しますdisassociate-external-connection

aws codeartifact disassociate-external-connection --external-connection public:npmjs \ --domain my_domain --domain-owner 111122223333 --repository my_repo

出力例:

{ "repository": { "name": my_repo "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo", "description": "A description of my_repo", "upstreams": [], "externalConnections": [] } }