概要
master push するたびに自動でイメージをビルドして push するようにします
環境
- macOS 11.7.10
- GithubActions v3
- Dockerhub (20240516時点)
Github へのシークレット登録
自分のプロジェクト -> Settings -> Secrets and variables -> Actions -> Repository secrets -> New repository secret
で
- DOCKERHUB_TOKEN
- DOCKERHUB_USERNAME
を追加します
Dockerhub で Personal Access Token の取得
DOCKERHUB_TOKEN は以下で取得します
MyAccount -> Security -> Access Tokens -> New Access Token
.github/workflows/docker.yml の作成
- vim .github/workflows/docker.yml
name: ci
on:
push:
branches:
- "master"
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
tags: kakakikikeke/request-dumper:latest
動作確認
今回は master に push したい際に動作します
- git push -u origin master
あとはプロジェクトの Acitons を見ると ci というワークフローが流れているのが確認できると思います
refusing to allow a Personal Access Token to create or update workflow 対策
自分のアカウント -> Settings -> Developer Settings -> Personal access tokens -> Tokens (classic)
で git push に使用している PAT を選択し workflow の権限を付与します
最後に
GithubActions を使って自動で docker hub にイメージを push する方法を紹介しました
これでいちいちローカルでイメージの作り直しをしなくて済みます
ちなみにシークレット情報は各プロジェクトごとに設定する必要があります
0 件のコメント:
コメントを投稿