name: Build and Push Docker Image on: push: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Log in to Gitea Registry run: echo "${{ secrets.GITEA_TOKEN }}" | docker login git.pengzhan.dev -u "${{ github.actor }}" --password-stdin # 有些 Gitea 环境下,docker build 可能需要 sudo,或者特定的权限 - name: Build and push Docker image run: | IMAGE_NAME="git.pengzhan.dev/${{ github.repository }}" # 转换为小写,防止因为仓库名包含大写导致镜像推送失败 IMAGE_NAME_LC=$(echo "$IMAGE_NAME" | tr '[:upper:]' '[:lower:]') docker build -t $IMAGE_NAME_LC:latest -t $IMAGE_NAME_LC:${{ github.sha }} . docker push $IMAGE_NAME_LC:latest docker push $IMAGE_NAME_LC:${{ github.sha }}