buildspec ファイルでランタイムバージョンを更新する - AWS CodeBuild

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

buildspec ファイルでランタイムバージョンを更新する

プロジェクトで使用されるランタイムを新しいバージョンに変更するには、buildpec ファイルの runtime-versions セクションを更新します。以下の例では、Java バージョン 8 および 11 を指定する方法を示します。

  • Java バージョン 8 を指定する runtime-versions セクション:

    phases: install: runtime-versions: java: corretto8
  • Java バージョン 11 を指定する runtime-versions セクション:

    phases: install: runtime-versions: java: corretto11

次の例では、Ubuntu 標準イメージ 5.0 または Amazon Linux 2 標準イメージ 3.0 を使用して、Python の異なるバージョンを指定する方法を示しています。

  • Python バージョン 3.7 を指定する runtime-versions セクション:

    phases: install: runtime-versions: python: 3.7
  • Python バージョン 3.8 を指定する runtime-versions セクション:

    phases: install: runtime-versions: python: 3.8

このサンプルでは、Java バージョン 8 ランタイムで始まり、その後で Java バージョン 10 ランタイムに更新されるプロジェクトを示します。

  1. Maven をダウンロードし、インストールします。詳細については、Apache Maven ウェブサイトの「Apache Maven のダウンロード」および「Apache Maven のインストール」を参照してください。

  2. ローカルコンピュータまたはインスタンスの空のディレクトリに切り替えて、この Maven コマンドを実行します。

    mvn archetype:generate "-DgroupId=com.mycompany.app" "-DartifactId=ROOT" "-DarchetypeArtifactId=maven-archetype-webapp" "-DinteractiveMode=false"

    成功すると、このディレクトリ構造とファイルが作成されます。

    . └── ROOT ├── pom.xml └── src └── main ├── resources └── webapp ├── WEB-INF │ └── web.xml └── index.jsp
  3. 次の内容で、buildspec.yml というファイルを作成します。ファイルを (root directory name)/my-web-app ディレクトリ内に保存します。

    version: 0.2 phases: install: runtime-versions: java: corretto8 build: commands: - java -version - mvn package artifacts: files: - '**/*' base-directory: 'target/my-web-app'

    buildspec ファイル:

    • この runtime-versions セクションでは、プロジェクトでバージョン 8 のJava ランタイムを使用することを指定します。

    • この - java -version コマンドは、ビルド時にプロジェクトで使用されている Java のバージョンを表示します。

    ファイル構造は次のようになります。

    (root directory name) └── my-web-app ├── src │ ├── main │ ├── resources │ └── webapp │ └── WEB-INF │ └── web.xml │ └── index.jsp ├── buildspec.yml └── pom.xml
  4. my-web-app ディレクトリの内容を S3 入力バケット、 CodeCommit、 GitHub、または Bitbucket リポジトリにアップロードします。

    重要

    (root directory name) または (root directory name)/my-web-app をアップロードしないでください。アップロードするのは、(root directory name)/my-web-app のディレクトリとファイルだけです。

    S3 入力バケットを使用している場合は、ディレクトリ構造とZIPファイルを含むファイルを作成し、入力バケットにアップロードしてください。ZIP ファイル(root directory name)/my-web-appには (root directory name)または を追加せず、 のディレクトリとファイルのみを追加してください(root directory name)/my-web-app

  5. https://console.aws.amazon.com/codesuite/codebuild/home で AWS CodeBuild コンソールを開きます。

  6. ビルドプロジェクトを作成します。詳細については、「ビルドプロジェクトの作成 (コンソール)」および「ビルドの実行 (コンソール)」を参照してください。これらの設定を除いて、すべての設定をデフォルト値のままにします。

    • [環境] の場合:

      • [環境イメージ] で、[Managed image (マネージド型イメージ)] を選択します。

      • [オペレーティングシステム] で、[Amazon Linux 2] を選択します。

      • [ランタイム] で、[Standard (標準)] を選択します。

      • [イメージ] で、[aws/codebuild/amazonlinux2-x86_64-standard:4.0] を選択します。

  7. [Start build] を選択します。

  8. [ビルド設定] でデフォルト値をそのまま使用して、[ビルドの開始] を選択します。

  9. ビルドが完了したら、[ビルドログ] タブでビルド出力を表示します。次のような出力が表示されます。

    [Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto8' based on manual selections... [Container] Date Time Running command echo "Installing Java version 8 ..." Installing Java version 8 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_8_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_8_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_8_HOME" [Container] Date Time Running command for tool_path in "$JAVA_8_HOME"/bin/* "$JRE_8_HOME"/bin/*;
  10. runtime-versions セクションを Java バージョン 11 で更新します。

    install: runtime-versions: java: corretto11
  11. 変更を保存したら、ビルドを再実行し、ビルド出力を表示します。現在インストールされている Java のバージョンが 11 であることが表示されます。次のような出力が表示されます:

    [Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto11' based on manual selections... Installing Java version 11 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_11_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_11_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_11_HOME" [Container] Date Time Running command for tool_path in "$JAVA_11_HOME"/bin/* "$JRE_11_HOME"/bin/*;