Files
own-tools/.gitea/workflows/docker-publish.yml
T
2026-02-25 19:21:50 -08:00

40 lines
1.2 KiB
YAML

name: Build and Push Docker Image
on:
push:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
env:
DOCKER_HOST: unix:///var/run/docker.sock
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Log in to Gitea Registry
run: echo "${{ secrets.PUSH_TOKEN }}" | docker login git.pengzhan.dev -u "${{ github.actor }}" --password-stdin
- name: Build and push Docker image
run: |
REPO_LOWER=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')
IMAGE_NAME="git.pengzhan.dev/$REPO_LOWER"
# 获取仓库的完整 URL
REPO_URL="${{ github.server_url }}/${{ github.repository }}"
echo "Building image: $IMAGE_NAME with source link: $REPO_URL"
# 关键点:通过 --label 注入关联信息
docker build \
--network host \
--label "org.opencontainers.image.source=$REPO_URL" \
-t $IMAGE_NAME:latest \
-t $IMAGE_NAME:${{ github.sha }} .
docker push $IMAGE_NAME:latest
docker push $IMAGE_NAME:${{ github.sha }}