ステップ 3: buildspec ファイルを作成する - AWS CodeBuild

ステップ 3: buildspec ファイルを作成する

(前のステップ: ステップ 2: ソースコードを作成する

このステップでは、ビルド仕様ファイルを作成します。ビルド仕様は、CodeBuild がビルドを実行するために使用する YAML 形式のビルドコマンドと関連設定の集まりです。 CodeBuild では、ビルド仕様がないと、ビルド入力をビルド出力に正常に変換できません。また、ビルド環境でビルド出力アーティファクトを特定して出力バケットにアップロードすることもできません。

このファイルを作成し、buildspec.yml という名前を付けて、ルート (最上位) ディレクトリに保存します。

version: 0.2 phases: install: runtime-versions: java: corretto11 pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: files: - target/messageUtil-1.0.jar
重要

ビルド仕様宣言は有効な YAML である必要があるため、ビルド仕様宣言のスペースは重要です。ビルド仕様宣言のスペース数が YAML と一致しない場合、ビルドは即座に失敗する場合があります。YAML validator を使用して、ビルド仕様宣言が有効な YAML かどうかをテストできます。

注記

ソースコードにビルド仕様ファイルを含める代わりに、ビルドプロジェクトを作成するときに個別にビルドコマンドを宣言することができます。これは、毎回ソースコードのリポジトリを更新せずに、異なるビルドコマンドでソースコードをビルドする場合に役立ちます。詳細については、「buildspec の構文」を参照してください。

このビルド仕様宣言では。

  • version は、使用されているビルド仕様スタンダードのバージョンを表します。このビルド仕様宣言では、最新バージョン 0.2 が使用されます。

  • phases は、CodeBuild にコマンドの実行を指示するビルドフェーズを表します。これらのビルドフェーズは installpre_buildbuildpost_build として、ここにリストされています。これらのビルドフェーズ名のスペルを変更することはできず、追加のビルドフェーズ名を作成することもできません。

    この例では、build フェーズ中に、CodeBuild によって mvn install コマンドが実行されます。このコマンドは、コンパイルされた Java クラスファイルをビルド出力アーティファクトにコンパイル、テスト、パッケージ化するように Apache Maven に指示します。完全にするために、この例では、いくつかの echo コマンドが各ビルドフェーズに配置されています。このチュートリアルの後半で詳細なビルド情報を見る際に、これらの echo コマンドの出力は、CodeBuild がコマンドを実行する方法とその順序を理解するのに役立ちます。(この例にはすべてのビルドフェーズが含まれていますが、コマンドを実行しないビルドフェーズは含める必要がありません)。 各ビルドフェーズについて、CodeBuild は最初から最後まで、各コマンドを一度に 1 つずつ、指定された順序で実行します。

  • artifacts は、CodeBuild が出力バケットにアップロードする一連のビルド出力アーティファクトを表します。files は、ビルド出力に含めるファイルを表します。CodeBuild は、ビルド環境の target 相対ディレクトリにある、単一の messageUtil-1.0.jar ファイルをアップロードします。ファイル名 messageUtil-1.0.jar およびディレクトリ名 target は、この例でのみ Apache Maven がビルド出力アーティファクトを作成して格納する方法に基づいています。独自のビルドでは、これらのファイル名とディレクトリは異なります。

詳細については、『ビルド仕様 (buildspec) に関するリファレンス』を参照してください。

この時点で、ディレクトリ構造は次のようになります。

(root directory name) |-- pom.xml |-- buildspec.yml `-- src |-- main | `-- java | `-- MessageUtil.java `-- test `-- java `-- TestMessageUtil.java

次のステップ

ステップ 4: ソースコードと buildspec ファイルをアップロードする