Files
my-docs/.github/workflows/buidl_and_push_ghcr.yml
gitea_admin 8d516cb990
Some checks failed
Docker Image CI / build (push) Has been cancelled
更新 .github/workflows/buidl_and_push_ghcr.yml
2025-12-18 12:34:21 +00:00

54 lines
1.7 KiB
YAML

name: Docker Image CI
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Wait for and verify Docker-in-Docker (DIND) connection
run: |
echo "Waiting for Docker daemon to be ready..."
while ! docker info > /dev/null 2>&1; do
echo -n "."
sleep 1
done
echo "\nDocker daemon is ready!"
docker info
# 设置 Docker Buildx
# 使用 driver: docker 以复用现有的 Docker 守护进程,避免在 Rootless 环境下挂载 socket 失败
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker
# 登录 Gitea 容器镜像库
- name: Log in to Gitea Container Registry
uses: docker/login-action@v3
with:
# 您的 Gitea 实例地址,请在 Gitea 仓库的 Secrets 中设置 GITEA_REGISTRY_URL
registry: ${{ secrets.GITEA_REGISTRY_URL }}
username: ${{ gitea.actor }}
# 请在 Gitea 仓库的 Secrets 中创建一个具有包读写权限的 GITEA_TOKEN
password: ${{ secrets.GITEA_TOKEN }}
# 构建并推送 Docker 镜像
- name: Build and push Docker image
run: |
# 镜像名格式为:<Gitea 实例地址>/<所有者>/<仓库名>
IMAGE_NAME="${{ secrets.GITEA_REGISTRY_URL }}/${{ gitea.repository_owner }}/my-docs"
echo "Pushing to: $IMAGE_NAME"
docker build . --file Dockerfile \
--tag "$IMAGE_NAME:latest" \
--tag "$IMAGE_NAME:${{ gitea.sha }}"
docker push "$IMAGE_NAME:latest"
docker push "$IMAGE_NAME:${{ gitea.sha }}"