LoginSignup
41
6

概要

2023年7月7日に、awsからAWS CodeBuildの機能アップデートが発表されました。
みんな大好き CodeBuild からどうやらGithub Actionsを呼び出せるとのことで、今回はどんな形で呼び出せるのかを検証してみました。

新機能: CodeBuild から Github Actions の呼び出し

  • CodeBild では、buildspec というファイル(ビルド仕様)を使用し、CodeBuild の実行時にどんな処理をするのかを記述していきます。

例:

buildspec.yaml
version: 0.2

run-as: Linux-user-name

env:
  variables:
    key: "value"
    key: "value"

phases:
  install:
    run-as: Linux-user-name
    runtime-versions:
      runtime: version
    commands:
      - command
      - command
  pre_build:
    run-as: Linux-user-name
    on-failure: ABORT | CONTINUE
    commands:
      - command
      - command
  build:
    run-as: Linux-user-name
    commands:
      - command
      - command
  post_build:
    run-as: Linux-user-name
    commands:
      - command
      - command

今回、github actions が呼び出せるようになったというのは、この buildspec 内で記述できる Steps内のどこか任意の phases で GitHub Marketplace で公開されているアクションを呼び出すことができるようになったというもののようです。

GitHub Marketplace

仕様

  • GitHub Actions を使用するために、GitHub への接続は必須となります。これは、匿名ダウンロードにレート制限があるためそれを回避するために必要なようです。
  • GitHub Actions の実行には追加料金はなしで利用ができます。
  • GitHub Actions は、AWS GovCloud (米国東部)、 AWS GovCloud (米国西部)、 中国 (北京)、および 中国 (寧夏)を除くすべてのリージョンでサポートしています。

本機能の制限

  • GitHub のソースを追加、変更(プルリクエストを更新するアクションやissue作成をトリガーとするアクション)をしようとした際に動く GitHub Actions の動きは機能しません。

  • Docker コンテナアクションである GitHub Actions は昨日はするんですが、CodeBuildで作成したビルドプロジェクトは「特権モード」を有効にする必要があり、デフォルトの Docker ユーザー (root) によって実行する必要があります。

  • GitHub Actions は、Windows 上で実行するように構成されたビルドプロジェクトではサポートされていません。

  • GitHub Action は GitHubのパブリックリポジトリに設定されているWebhookによってトリガーされたビルドプロジェクトはサポートされていません、

  • パブリックなインターネットアクセスができないVPCに設定されている ビルドプロジェクトでは GitHub Actions を実行できません。

検証してみた

buildspec.yaml
version: 0.2

phases:
  build:
    steps:
      - name: Setup Golang
        uses: actions/setup-go@v4
      - run: go version
  • goのセットアップが完了し、無事version情報まで確認することができましたね。

スクリーンショット 2023-07-08 14.20.09.png

スクリーンショット 2023-07-08 14.20.20.png

参考文献

41
6
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
41
6