Try   HackMD

Overview

從GitHub Actions push image 至 ghcr 的 配置

REGISTRY_URL: ghcr.io/<username> or ghcr.io/<organizationName>
REGISTRY_USERNAME: token持有者的username
REGISTRY_PASSWORD: classic token (要有 pacakges r/w permission)

註: docker login "$REGISTRY_URL" 這裡,URL是可以使用ghcr.io的,不一定要加/<username>

name: Build Docker Image

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  workflow_dispatch:


jobs:
  build:
    runs-on: ubuntu-latest

    env:
      REGISTRY_URL: ${{ secrets.REGISTRY_URL }}
      REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }}
      REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Build Docker Image
        run: |
          docker build --progress=plain -t "$REGISTRY_URL/cgit" .

      - name: Log in to Docker Registry
        run: echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY_URL" -u "$REGISTRY_USERNAME" --password-stdin

      - name: Push Docker Image
        run: docker push "$REGISTRY_URL/cgit"