LoginSignup
3
1

More than 1 year has passed since last update.

GitHubからの通知が来なくてもCodeBuildを動かしたい・・・・・・

Last updated at Posted at 2022-05-27

概要

GitHub 障害時(例: 2022-05-27 JST)に、WebHook関連の通知が止まってしまい、関連する処理が停止してしまうことがあります。
ただ、 Gitリポジトリが生きていれば開発は進められるので、この時にCI/CDが動かないのは辛いです。

本記事では、GitHubの変更をトリガーに AWS CodeBuild を稼働させるような場合に、手動で Build を開始させる操作例を記載します。

参考

想定構成

GitHub -> [event] -> AWS CodeBuild

特定ブランチやgitタグのpushのGitHub管理のイベントをトリガーにCodeBuildが起動させる、といった構成を想定します。

手動起動方法

(1). 起動させたいCodeBuildの build projectを選択し、 "Start build with override" ("上書きでビルドを開始する" )を選択

codebuild-001-start.png

(2). "Source version" など、必要な項目を設定して、 "Start Build" ("ビルドを開始")を選択

codebuild-002-override.png

Source version 指定例:

  • main ブランチ の最新 commit => refs/heads/main
  • v1.2.3 tag => refs/tags/v1.2.3
  • ビルド対象の Git commit hash をそのまま入れる

(3). ページ下部の "Start build" を選択してビルドを開始する

(4). 成功を祈る

補足

memo: 手動起動時のビルド実行時変数状態

  • Override時に "source version" で指定した内容は、 CODEBUILD_SOURCE_VERSION
  • GitHub event駆動時には設定されている CODEBUILD_WEBHOOK_HEAD_REF 変数などは値が空になる
  • CODEBUILD_RESOLVED_SOURCE_VERSION には、Clone対象の具体的なGit commit hashが入っている
    • GitHub event駆動時と同様

Overrideの影響範囲

"override" は、手動起動時に通常のGitHub event駆動時に含まれるような event 情報の上書きする、という意味のようです。
そのため影響範囲はそのbuild内のみで、既存の build project 設定が変わることはないはずです。

buildspec.yml の Override

Advanced Override を選択すると、 buildspec.yml の override など、名前の通りより詳細な設定を加えた状態でCodeBuildを起動可能です。

以下に、buildspec.yml ファイルをインラインで編集・上書きする方法例を記載します。

(1). "Start build with override" ("上書きでビルドを開始する" )画面で、 "Advanced build Overrides" を選択

codebuild-002-override-advanced.png

(2). 追加された "Buildspec" メニューの、 "Insert build commands" を選択し、 "switch to editor" を押す

codebuild-003-override-buildspec.png

(3). インラインエディタが開くので、設定した buildspec.yml の内容を記入(貼り付け)・編集する

codebuild-003-override-buildspec-edit.png

(4). ページ下部の "Start build" を選択してビルドを開始する

(5). 成功を祈る

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1