Docker Hubにアクセストークンを追加する。

リポジトリのSettingsから、Secretsを開き、New repository secretから DOCKER_USERNAMEDOCKER_PASSWORDを追加する。

DOCKER_USERNAMEはDocker Hub上のユーザ名、 DOCKER_PASSWORDはアクセストークンを設定する。

以下のファイルをリポジトリに追加する(ファイル名docker.ymlは変更可)。

mainブランチにgit pushされたとき、Dockerイメージのビルドが走り、イメージがDocker Hubにdocker pushされる。

.github/workflows/docker.yml

name: Push to Docker registry

on:
  push:
    branches:
      - main

jobs:
  push:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Login to Docker Hub
        uses: actions-hub/docker/login@master
        env:
          DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
          DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
          DOCKER_REGISTRY_URL: docker.io

      - name: Build :latest
        if: success()
        run: docker build -t username/imagename:latest .

      - name: Deploy :latest
        if: success()
        uses: actions-hub/docker@master
        with:
          args: push username/imagename:latest