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

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

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

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

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

  • 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

次のステップ

ステップ 3: 2 つの S3 バケットを作成する