【GitHub】Self-hosted Runner in CodeBuild ~ 入門編 ~

■ はじめに

GitHub Self-hosted Runner in AWS CodeBuild
ってのがあることを知ったのでメモ。

目次

【1】GitHub Self-hosted Runner in AWS CodeBuild
 1)補足:GitLab の Runner サポート
【2】設定手順例
 Step 1: Create a CodeBuild project with a webhook
 Step 2: Update your GitHub Actions workflow YAML
 Step 3: Review your results

【1】GitHub Self-hosted Runner in AWS CodeBuild

* 2024年4月24日に、マネージド型のビルドサービスであるCodeBuildが
 GitHub Actionホストランナーをサポートされた

https://aws.amazon.com/jp/about-aws/whats-new/2024/04/aws-codebuild-managed-github-action-runners/

1)補足:GitLab の Runner サポート

* GitLab もサポートしている

https://aws.amazon.com/jp/about-aws/whats-new/2024/09/aws-codebuild-managed-gitlab-runners/

【2】設定手順例

* 以下の公式ドキュメントを参考にするといい

https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/action-runner.html

Step 1: Create a CodeBuild project with a webhook

[1] CodeBuild を表示

* 以下のサイトからAWSマネージメントコンソールの「CodeBuild」を表示する

https://console.aws.amazon.com/codesuite/codebuild/home

[2] ビルドプロジェクトを作成

* 以下のサイトの画面キャプチャーも参考に。。。

https://developer.mamezou-tech.com/blogs/2024/04/29/githubactions-codebuild-runner/
https://developers.cyberagent.co.jp/blog/archives/47677/

1) 「Source」で以下を入力
 + Source provider: [GitHub]を選択
 + Repository: [Repository in my GitHub account]を選択
 + Repository URL: https://github.com/<user-name>/<repository-name>
2) 「Primary source webhook events」 で以下を入力
 + Event type: [WORKFLOW_JOB_QUEUED]
3) 「Environment」で以下を入力
 + provisioning mode: [OnDemand]を選択
 + Environment Image: [Managed Image]を選択
 (Imageについては、以下「EC2 コンピューティングイメージ」を参照)
 + Computing: [EC2]を選択
4) 「Buildspec」で以下を入力
 + [Insert Build command]を選択
5) [Create build project]を選択

EC2 コンピューティングイメージ
https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/ec2-compute-images.html

Step 2: Update your GitHub Actions workflow YAML

* Github Actions を実装する

サンプル

name: Hello World
on: [push]
jobs:
  Hello-World-Job:
    runs-on:
      # codebuild-<プロジェクト名>-${{ github.run_id }}-${{ github.run_attempt }}
      - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
      # - image:arm-3.0
      # - instance-size:small
    steps:
      - run: echo "Hello World!"

Step 3: Review your results

* GitHub actionsをPushなどして動かして動作確認する

参考文献

https://qiita.com/k-kojima-yumemi/items/573bda88d0fb607b3224
今後役に立ちそうなサイト
https://matsudamper.hatenablog.com/entry/2023/11/19/064050
https://zenn.dev/bm_sms/articles/1604de9006d84d
with terraform
https://atsum.in/aws/codebuild-as-self-hosted-runner/

関連記事

Github Actions ~ Self-hosted runners / 入門編 ~
https://dk521123.hatenablog.com/entry/2023/12/18/204119
Github Actions ~ Self-hosted runners / あれこれ編 ~
https://dk521123.hatenablog.com/entry/2024/02/07/002736
Github Actions ~ Self-hosted runners で Offline だった場合の対応について考える ~
https://dk521123.hatenablog.com/entry/2024/12/31/184145
CodeBuild ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/01/21/221122