Files
my-docs/.github/workflows/buidl_and_push_ghcr.yml
gitea_admin 027165b55b
Some checks failed
Docker Image CI / build-and-push (push) Failing after 43s
更新 .github/workflows/buidl_and_push_ghcr.yml
2025-12-18 05:56:47 +00:00

60 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Docker Image CI
on:
workflow_dispatch:
push:
branches:
- main
jobs:
build-and-push:
runs-on: ubuntu-latest
# 1. 【关键】删除 container 字段,直接使用 Runner 的宿主环境
# container:
# image: catthehacker/ubuntu:act-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get Meta
id: meta
run: |
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed -E 's/^\s*.*:\/\///g')
REPO_LOWER=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]')
echo "REGISTRY_HOST=$REGISTRY_HOST" >> $GITHUB_OUTPUT
echo "IMAGE_NAME=$REPO_LOWER" >> $GITHUB_OUTPUT
echo "VERSION_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
# 2. 【关键】Rootless 环境通常无法动态加载 QEMU必须注释掉
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# 3. 【关键】配置 Buildx 使用 docker 驱动
# 默认的 docker-container 驱动在 rootless 下可能有网络/权限问题
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker
- name: Log in to Gitea Registry
uses: docker/login-action@v3
with:
registry: ${{ steps.meta.outputs.REGISTRY_HOST }}
username: ${{ gitea.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
# 4. 【注意】如果去掉了 QEMU这里通常只能保留当前 Runner 的架构(如 linux/amd64
# 去掉 linux/arm64除非你的 Runner 本身就是 ARM 的或者宿主机已开启 QEMU 支持
platforms: linux/amd64
tags: |
${{ steps.meta.outputs.REGISTRY_HOST }}/${{ steps.meta.outputs.IMAGE_NAME }}:latest
${{ steps.meta.outputs.REGISTRY_HOST }}/${{ steps.meta.outputs.IMAGE_NAME }}:${{ steps.meta.outputs.VERSION_SHA }}