[toc] # Overview 從 GitHub Actions 推送 Docker Image 至 GHCR 的配置 ## Action Secrets - **REGISTRY_URL**: `ghcr.io/<username>` 或 `ghcr.io/<organizationName>` - **REGISTRY_USERNAME**: 擁有 token 的使用者名稱 - **REGISTRY_PASSWORD**: Classic token(需具備 packages 的讀寫權限) > [!NOTE] > `docker login "$REGISTRY_URL"` 中的 URL 也可以直接使用 `ghcr.io`,不一定要加上 `/username` ## Example workflow.yml File: `.github/workflows/workflow.yml` ```yaml 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"
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.