はじめに
今回は AWS CodeBuild を試します。
GitHubのリポジトリからソースコードを取得し、ビルドし、出力されたアーティファクトファイルをS3に配置します。
コンソールを使用した AWS CodeBuild の開始方法を参考にします。
準備
- GitHubのリポジトリを作成
- buildspec.ymlを作成
- 出力先のS3バケットを作成
buildspec.ymlを作成
- ランタイムやビルドコマンドを記述します
- 作成したファイルをリポジトリのルートに保存します
- 参考
version: 0.2
phases:
install:
runtime-versions:
golang: 1.16
pre_build:
commands:
- go mod tidy
- /bin/bash scripts/create_template.sh
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get -y install libgtk-3-dev libwebkit2gtk-4.0-dev
build:
commands:
- echo Build started on `date`
- cd src
- GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o `pwd`/../SimpleWebView
post_build:
commands:
- echo Build completed on `date`
artifacts:
files:
- SimpleWebView
CodeBuildのプロジェクト作成・ビルド実行
プロジェクト作成
プロジェクト名を入力
ソースの設定
環境の設定
- buildspec.ymlで設定したランタイムから適切な値を設定します
- 今回はruntime-versionsを「golang: 1.16」を設定したため
オペレーティングシステムを「Ubuntu」
ランタイムを「Standard」
イメージを「aws/codebuild/standard:5.0」に設定します
- 今回はruntime-versionsを「golang: 1.16」を設定したため
- 参考 使用可能なランタイム
アーティファクトの設定
- タイプを「Amazon S3」に設定します
- 「準備」で作成したS3バケットのバケット名を設定します
作成
実行
-
ビルド進行中の画面
- 長時間経過しても終了しない場合や、出力されるログからビルドが完了しないと判断される場合は「ビルドの停止」をクリックします
- 参考 Docs » Docker Engine » よくある質問と回答(FAQ)
確認
終わりに
AWS CodeBuild を試しました。
CI/CD関連のサービスでCodeCommit、CodeDeploy、CodePipelineなどがあるので、今後試していこうと思います。