のソースバージョンのサンプルAWS CodeBuild - AWS CodeBuild

のソースバージョンのサンプルAWS CodeBuild

このサンプルでは、コミット ID (コミット SHA とも呼ばれます) 以外の形式を使用してソースのバージョンを指定する方法を示します。ソースのバージョンは、以下の方法で指定できます。

  • Amazon S3 ソースプロバイダーの場合は、ビルド入力 ZIP ファイルを表すオブジェクトのバージョン ID を使用します。

  • CodeCommit、Bitbucket、GitHub、GitHub Enterprise Server の場合は、以下のいずれかを使用します。

    • プルリクエストの参照としてのプルリクエスト (例: refs/pull/1/head)。

    • ブランチ名としてのブランチ。

    • コミット ID。

    • タグ。

    • 参照とコミット ID。参照は、次のいずれかになります。

      • タグ (例 : refs/tags/mytagv1.0^{full-commit-SHA})。

      • ブランチ (例 : refs/heads/mydevbranch^{full-commit-SHA})。

      • プルリクエスト (例 : refs/pull/1/head^{full-commit-SHA})。

注記

プルリクエストソースのバージョンを指定できるのは、リポジトリが GitHub または GitHub Enterprise Server である場合に限ります。

参照とコミット ID を使用してバージョンを指定すると、バージョンのみを指定した場合よりもビルドの DOWNLOAD_SOURCE フェーズが高速になります。これは、参照を追加すると、CodeBuild はコミットを見つけるためにリポジトリ全体をダウンロードする必要がないためです。

  • ソースバージョンはコミット ID のみで指定できます (例: 12345678901234567890123467890123456789)。これを行う場合、CodeBuild はバージョンを見つけるためにリポジトリ全体をダウンロードする必要があります。

  • ソースバージョンを指定するには、参照とコミット ID を次の形式で使用できます: refs/heads/branchname^{full-commit-SHA} (例 : refs/heads/main^{12345678901234567890123467890123456789})。この場合、CodeBuild はバージョンを見つけるために指定されたブランチだけをダウンロードします。

注記

ビルドの DOWNLOAD_SOURCE フェーズを高速化するには、[Git clone depth] (Git のクローンの深さ) を低い数値に設定することもできます。CodeBuild がダウンロードするリポジトリのバージョン数が少なくなります。

コミット ID で GitHub リポジトリバージョンを指定するには

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

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

    • [Source (ソース)] で、次のようにします。

      • [ソースプロバイダー] で [GitHub] を選択します。GitHub に接続されていない場合は、手順に従って接続します。

      • [レポジトリ] で、[パブリックレポジトリ] を選択します。

      • [リポジトリの URL] に、「https://github.com/aws/aws-sdk-ruby.git」と入力します。

    • [環境] で以下の操作を行います。

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

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

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

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

  3. [ビルド仕様] で、[ビルドコマンドの挿入] を選択して [Switch to editor (エディタに切り替え)] を選択します。

  4. [ビルドコマンド] で、プレースホルダーテキストを次のように置き換えます。

    version: 0.2 phases: install: runtime-versions: ruby: 2.6 build: commands: - echo $CODEBUILD_RESOLVED_SOURCE_VERSION

    Ubuntu 標準イメージ 2.0 を使用する場合、runtime-versions セクションは必須です。ここでは Ruby バージョン 2.6 ランタイムを指定していますが、任意のランタイムを使用できます。echo コマンドは、CODEBUILD_RESOLVED_SOURCE_VERSION 環境変数に保存されているソースコードのバージョンを表示します。

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

  6. [ソースバージョン] に「046e8b67481d53bdc86c3f6affdd5d1afae6d369」と入力します。これは、https://github.com/aws/aws-sdk-ruby.git リポジトリのコミットの SHA です。

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

  8. ビルドが完了すると、以下が表示されます。

    • [ビルドログ] タブに、使用されたプロジェクトソースのバージョン。以下はその例です。

      [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
    • [環境変数] タブに、ビルドを作成するために使用されたコミット ID と一致する [ Resolved source version (解決されたソースバージョン)]。

    • [フェーズ詳細] タブに、 DOWNLOAD_SOURCE フェーズの所要時間。

以下のステップでは、ソースの同じバージョンを使用してビルドを作成する方法を示します。今回は、ソースのバージョンを指定するのに参照とコミット ID を使用します。

コミット ID と参照を使用して GitHub リポジトリのバージョンを指定するには

  1. 左のナビゲーションペインで、[ビルドプロジェクト] を選択し、先ほど作成したプロジェクトを選択します。

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

  3. [ソースバージョン] に「refs/heads/main^{046e8b67481d53bdc86c3f6affdd5d1afae6d369}」と入力します。これは、次の形式のブランチへのコミット ID および参照と同じです: refs/heads/branchname^{full-commit-SHA}

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

  5. ビルドが完了すると、以下が表示されます。

    • [ビルドログ] タブに、使用されたプロジェクトソースのバージョン。以下はその例です。

      [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
    • [環境変数] タブに、ビルドを作成するために使用されたコミット ID と一致する [ Resolved source version (解決されたソースバージョン)]。

    • [フェーズ詳細] タブに、DOWNLOAD_SOURCE フェーズの所要時間。これは、コミット ID のみを使用してソースのバージョンを指定する場合よりも短い時間であることが必要です。