のソースバージョンのサンプル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 リポジトリバージョンを指定するには
-
AWS CodeBuild コンソール (https://console.aws.amazon.com/codesuite/codebuild/home
) を開きます。 -
ビルドプロジェクトを作成します。詳細については、「ビルドプロジェクトの作成 (コンソール)」および「ビルドの実行 (コンソール)」を参照してください。以下の設定を除いて、すべての設定をデフォルト値のままにします。
-
[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] を選択します。
-
-
-
[ビルド仕様] で、[ビルドコマンドの挿入] を選択して [Switch to editor (エディタに切り替え)] を選択します。
-
[ビルドコマンド] で、プレースホルダーテキストを次のように置き換えます。
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
環境変数に保存されているソースコードのバージョンを表示します。 -
[ビルド設定] でデフォルト値をそのまま使用して、[ビルドの開始] を選択します。
-
[ソースバージョン] に「
046e8b67481d53bdc86c3f6affdd5d1afae6d369
」と入力します。これは、https://github.com/aws/aws-sdk-ruby.git
リポジトリのコミットの SHA です。 -
[Start build] を選択します。
-
ビルドが完了すると、以下が表示されます。
-
[ビルドログ] タブに、使用されたプロジェクトソースのバージョン。以下はその例です。
[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 リポジトリのバージョンを指定するには
-
左のナビゲーションペインで、[ビルドプロジェクト] を選択し、先ほど作成したプロジェクトを選択します。
-
[Start build] を選択します。
-
[ソースバージョン] に「
refs/heads/main^{046e8b67481d53bdc86c3f6affdd5d1afae6d369}
」と入力します。これは、次の形式のブランチへのコミット ID および参照と同じです:
。refs
/heads
/branchname
^{full-commit-SHA
} -
[Start build] を選択します。
-
ビルドが完了すると、以下が表示されます。
-
[ビルドログ] タブに、使用されたプロジェクトソースのバージョン。以下はその例です。
[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 のみを使用してソースのバージョンを指定する場合よりも短い時間であることが必要です。
-