GitHub Actions、カスタムイメージの層化ビルドと snapshot 条件分岐

254文字
1分
編集

GitHub ホスト larger runner 向けカスタムイメージに、生成パイプラインの構成を柔軟にする機能が追加された。組織やエンタープライズでカスタムイメージを運用するチーム向けである。

  • 既存のカスタムイメージをベースに新しいカスタムイメージを生成できる。共通ツールを含む共有ベースを維持し、各チームが独自の依存関係だけを上乗せする層化ワークフローが可能になる。
  • ワークフローで snapshot マッピングに if を付け、イメージ版を生成するタイミングを条件分岐できる。タグ push では snapshot をスキップする、といったテストやロールアウト制御に使える。
  • カスタムイメージから派生したイメージは、ベースイメージの有効期限タイムラインを引き継ぐ。最大版年齢は派生イメージの生成日ではなく、ベースのビルド日から計算される。

snapshot の条件分岐の例は次のとおり。

yaml
jobs:
  build:
    runs-on: my-image-generation-runner
    snapshot:
      if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
      image-name: my-custom-image
      version: 2.*
    steps:
      # 依存関係のセットアップ

#参考文献