💨
GitHub Actionsのdocker/build-push-actionにはcontext指定をする
こんにちはムーザルちゃんねるの@zaruです。GitHub Actionsの docker/build-push-action
にはcontext指定をしたほうが良いケースがあります。それは・・・
GitHub Actionsのステップで生成したファイルをDockerイメージに含めたい時
なぜかというと、contextが指定されていない docker/build-push-action
のデフォルト挙動は該当リポジトリからソースファイルを自動でcheckoutするからです。つまり、いくら前段のステップでファイルを作成したり更新したりしても全部無視されます。
そういう意味では、そもそも actions/checkout
すら必要ありません。自動でやってくれるので。
ただ、それだと困るケースもあると思うので、そういうときにはちゃんとcontextを指定しましょう。
jobs:
build_and_push:
name: Build and Push Docker Image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: なんらかの処理をして foo.txt を生成する
run: foo.sh > foo.txt
- name: Dockerイメージをビルドしてプッシュ
uses: docker/build-push-action@v6
with:
context: . # これ! この指定がないと foo.txt は含まれない
push: true
tags: |
foo-registory:${{ github.sha }}
基本的なことですが、完全に頭から抜けててハマったので書いておきます。
Discussion