GitHub レポジトリ作成
- .gitignore 設置 (任意)
- .GitHub/workflows/build.yml 設置 (空でよい)
- 初期コミット、Push をしておく。
PERSONAL_ACCESS_TOKEN が必要なので発行する
- GitHub 個人の設定の
Settings
->Developer settings
->Personal access tokens
この値をメモる
PERSONAL_ACCESS_TOKEN を Secret に設定する
Repository
->Settings
->Secret
pullDown のactions
を 選択
ここで任意の名前で設定する (ここではPERSONAL_ACCESS_TOKEN
で 設定)
USERNAME を Secret に設定する
workflow の 下記
ghcr.io/${{ secrets.USERNAME }}/${{ env.IMAGE_NAME }}:latest
アカウント名は lowercase でないといけない
と怒られるので明示的に secrets へ小文字でアカウント名を登録
Repository
->Settings
->Secret
pullDown のactions
を 選択
ここで任意の名前で設定する (ここではUSERNAME
で 設定)
GitHub Actions workflow を作成
.github/workflows/build.yml
name: Build and Publish Docker
on:
push:
branches:
- main
jobs:
build_and_push:
runs-on: ubuntu-latest
env:
IMAGE_NAME: linkchecker
steps:
- name: checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./
push: true
tags: |
ghcr.io/${{ secrets.USERNAME }}/${{ env.IMAGE_NAME }}:latest
ghcr.io/${{ secrets.USERNAME }}/${{ env.IMAGE_NAME }}:1.0.0
レポジトリへプッシュ
git poush origin main
Build がうまく行けば https://github.com/<<YOUR_ACCOUNT>>?tab=packages
に DockerImage が生成されている