アーティファクト管理の概要

アーティファクトは、パッケージ、コンテナ、構成ファイル、ドキュメントなどのソフトウェア開発プロセスによって作成されるファイルです。アーティファクトの例は次のとおりです。

  • ビルドの出力(コンテナ イメージやソフトウェア パッケージなど)
  • アプリケーションをビルドまたはデプロイするために必要な依存関係(ベースイメージやオープンソース パッケージなど)
  • Helm チャートなどの構成ファイル

このページでは、アーティファクトの格納、保護、デプロイに使用できる Google Cloud のアーティファクト管理ツールについて説明します。

Google Cloud のアーティファクト管理ツール

  • Artifact Registry を使用すると、アーティファクトを限定公開リポジトリまたは公開リポジトリに安全に保存し、管理できます。これは、コンテナの保存と管理のための Google Cloud サービスである Container Registry が進化したものです。

  • Container Analysis を使用してメタデータを管理すると、以下のことが可能になります。

    • コンテナ イメージをスキャンして既知の脆弱性について確認します。
    • イメージが統合テストスイートを通過したことを示すメタデータなど、コンテナ イメージにその他のメタデータを追加します。Container Analysis を使用して、異なるソースのメタデータを統合できます。
  • Binary Authorization を使用して、信頼できるコンテナのみをデプロイします。Binary Authorization を使用して、承認済みのコンテナのみが VMware の Google Kubernetes Engine または Anthos クラスタにデプロイされるようにセキュリティ ポリシーを作成します。Binary Authorization は、Artifact Registry、Container Registry、その他のコンテナ イメージ レジストリのコンテナ イメージに対して機能します。

アーティファクト管理システムの利点

アーティファクトは、組織の内部と外部の両方にある多数のソースに由来するため、アーティファクトの操作は複雑になることがあります。操作する独立した各システムでは、システム停止などの問題により障害点が生じる可能性があります。1 つのビルドには、以下のものに由来するファイルが含まれる場合があります。

  • 複数の社内チームにわたるビルド
  • GitHub のオープンソース プロジェクト
  • Maven Central や Docker Hub などの形式固有のサイト

アーティファクト管理システムは、こうしたアーティファクトを 1 か所で集中管理することにより、このような複雑な問題と信頼性の問題に対応します。アーティファクトとその使用法を、より詳細に制御できます。アーティファクト リポジトリ:

  • アーティファクトの信頼できる唯一の情報源と CI / CD の統合ポイントとして機能します。
  • バージョン管理、脆弱性スキャン、承認ワークフローなどの機能を実現します。
  • 統合されたアクセス制御と一貫した構成が可能です。
  • アーティファクトの処理に関する自動化に一貫性をもたらします。
  • 組織のパフォーマンスを最適化する DevOps 機能の多くがサポートされています。

CI / CD ワークフローでのアーティファクト管理

アーティファクト管理は、継続的インテグレーションと継続的デリバリー(CI / CD)パイプラインの中核をなすものです。Google Cloud には、以下のものを含めソフトウェア開発のためのエンドツーエンドの統合されたサービスが用意されています。

これらのサービスを併用するか、一部のサービスを既存の CI / CD ツールに統合できます。

次のステップ