コードシリーズの最後となる CodeArtifact です。
セッション
AWS CodeArtifact おさらい
講師:アマゾン ウェブ サービス ジャパン、シニアエバンジェリスト 亀田氏
CodeArtifact とは
Code シリーズの「Soure/Artifact」に分類される。
- CodeCommit : プライベートリポジトリ
- CodeArtifact : プライベートソフトウェアパッケージリポジトリ
- パブリックに公開できないパッケージを保存
- パブリックのパッケージマネージャのプロクシとして動作させることができる
対応言語/パッケージマネージャ
- Java : Maven, Gradle
- JavaScript : npm, yarn
- Python : pip, twine
- .NET : Nuget
ドメイン
- 最上位の管理単位
- パッケージの格納する単位として設定する
- パッケージが複数のリポジトリに存在していても、保存はドメインごとに一度だけでいい
- kms で暗号化可能
- クロスアカウント対応なので、別アカウントのリポジトリも格納可能
リポジトリ
- 必ずドメインに所属する
- ドメインに格納されたパッケージにアクセスするためのエンドポイント
- リポジトリは、他のリポジトリのアップストリームになることができる
- 認証(ログイン)すればあとは
npm
とかと同じように意識せずに利用できる- ログイン後であれば
npm publish
とかで保存できる
- ログイン後であれば
# Login aws codeartifact login --tool npm \ --domain "my-orgW --domain-owner "account-id" \ --repository "my-repo" # Build npm run build # Version npm version $VERSION # Publish npm publish
所感
なるほど、プライベートなパッケージを共有する仕組みなんですね。
普段の開発で npm
とか pip
とかは使うのですが、使うだけで自分でパッケージとして作ることがありませんでした。
複数人で開発している時に、別チームとかにパッケージだけを公開したい場合に有用なサービスだと認識しました。
こういうケースでは今までは Git リポジトリごと共有してたのですが、これを使えばパッケージとして共有できるということですね。