このページでは、Cloud Build を使用して Java ベースのアプリケーションをビルドしてテストする方法、ビルドされたアーティファクトを Artifact Registry 内の Maven リポジトリに保存する方法、ビルドの来歴情報を生成する方法について説明します。
始める前に
- Java ベースのアプリケーションの作成に精通している必要があります。
- Maven に精通している
- Java プロジェクトを準備します。
- Cloud Build 構成ファイルの作成方法に精通している必要があります。
- Artifact Registry に Maven リポジトリを用意します。リポジトリがない場合は、新しいリポジトリを作成します。
- このページで
gcloud
コマンドを実行するには、Google Cloud CLI をインストールします。
maven
イメージの使用
Docker Hub から取得した maven
イメージを使用して Java アプリケーションをビルドするように Cloud Build を構成できます。
maven
イメージでタスクを実行するには、イメージの URL とイメージのタグ付きバージョンをビルド構成ファイルの name
フィールドに指定します。イメージタグを指定しない場合、Cloud Build はデフォルトで latest
イメージを使用します。Cloud Build は、イメージのデフォルトのエントリポイントを使用して、name
に指定されたイメージを起動します。デフォルトのエントリポイントをオーバーライドして、エントリポイントとして maven
を呼び出すには、entrypoint
フィールドに mvn
を指定します。
次のビルド構成ファイルでは、maven
イメージの entrypoint
を指定し、ビルドツール バージョンを出力します。
steps:
- name: maven:3.3-jdk-8
entrypoint: mvn
args: ['--version']
Java
ビルドを構成する
プロジェクトのルート ディレクトリに、
cloudbuild.yaml
という名前でビルド構成ファイルを作成します。テストを実行する:
maven
はmaven test
を提供します。これにより、依存関係をダウンロードしてアプリケーションをビルドし、ソースコードで指定されたテストを実行します。ビルドステップのargs
フィールドは引数のリストを受け取り、name
フィールドによって参照されるイメージに渡します。ビルド構成ファイルで、
args
フィールドにtest
を追加します。これにより、maven
内でtest
を呼び出します。steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
アプリケーションをパッケージ化する:
maven
イメージでアプリケーションを JAR ファイルにパッケージ化するには、args
フィールドにpackage
コマンドを指定します。package
コマンドにより、/workspace/target/
に JAR ファイルがビルドされます。次のビルドステップでは、Java アプリケーションをパッケージ化します。
steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
Artifact Registry にアップロードする:
ビルド構成ファイルで、
mavenArtifacts
フィールドを使用して、Artifact Registry のアプリケーション パスと Maven リポジトリを指定します。artifacts: mavenArtifacts: - repository: 'https://location-maven.pkg.dev/project-id/repository-name' path: 'app-path' artifactId: 'build-artifact' groupId: 'group-id' version: 'version'
次の値を置き換えます。
- location: Artifact Registry 内のリポジトリのロケーション。
- project-id: Artifact Registry リポジトリを含む Google Cloud プロジェクトの ID。
- repository-name: Artifact Registry 内の Maven リポジトリの名前。
- app-path: パッケージ化されたアプリケーションへのパス。
- build-artifact: ビルドステップで作成されたパッケージ ファイルの名前。
- group-id: すべての Maven プロジェクトにわたってプロジェクトを
com.mycompany.app
の形式で一意に識別します。詳しくは、Maven の命名規則に関するガイドをご覧ください。 - version: アプリケーションのバージョン番号。
1.0.1
のように数字とドットで書式設定します。
省略可: 来歴の生成を有効にする
Cloud Build は、検証可能なソフトウェア アーティファクトのためのサプライ チェーン レベル(SLSA)のビルドの来歴メタデータを生成して、継続的インテグレーション パイプラインを保護できます。
来歴の生成を有効にするには、構成ファイルの
options
セクションにrequestedVerifyOption: VERIFIED
を追加します。手動またはビルドトリガーを使用してビルドを開始します。
ビルドが完了したら、Artifact Registry でリポジトリの詳細を表示できます。
ビルドの来歴メタデータの表示と来歴の検証も可能です。
次のステップ
- ビルド結果を表示する方法を学習する。
- ビルドを保護する方法を学習する。
- Compute Engine で Blue/Green デプロイを実行する方法を学習する。
- Java アプリケーションをビルドしてコンテナ化する方法を学習する。
- Cloud Run でアプリケーションをデプロイする方法を学習する。
- GKE でアプリケーションをデプロイする方法を学習する。
- ビルドエラーをトラブルシューティングする方法について学習する。