catface_backend_go/.gitea/workflows/docker_build_push_pull.yml
Havoc420Mac 39e22582f7
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
ci-13
2025-04-06 11:06:40 +08:00

78 lines
2.5 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: Build and Push Docker Image
on:
push:
branches:
- "**" # 匹配所有分支
paths-ignore: # 忽略一些不必要的文件
- ".gitignore"
- "README.md"
- ".vscode/**"
pull_request:
branches: ["main"]
env:
REGISTRY: ghcr.io # 直接使用GHCR
IMAGE_NAME: catface_backend_go # 对应您要推送的镜像名称
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: 打印调试信息
run: |
echo "Registry: ${{ env.REGISTRY }}"
echo "Image: ${{ env.GHCR_USER }}/${{ env.IMAGE_NAME }}"
echo "Gitea Actor: ${{ gitea.actor }}"
- name: 检出代码
uses: actions/checkout@v4
- name: 获取分支名称
id: branch_name
run: |
branch=${GITHUB_REF#refs/heads/}
echo "branch=${branch}" >> $GITHUB_OUTPUT
# 主分支用latest其他分支用dev-分支名
if [ "${branch}" = "main" ]; then
echo "tag=latest" >> $GITHUB_OUTPUT
else
# 替换非法字符为-
safe_branch=$(echo "${branch}" | sed 's/[^a-zA-Z0-9]/-/g')
echo "tag=dev-${safe_branch}" >> $GITHUB_OUTPUT
fi
- name: 登录到 GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.GHCR_USER }}
password: ${{ secrets.GHCR_TOKEN }} # 在Gitea仓库设置中添加此secret
- name: 构建并推送 Docker 镜像
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ env.REGISTRY }}/${{ secrets.GHCR_USER }}/${{ env.IMAGE_NAME }}:${{ steps.branch_name.outputs.tag }}
labels: |
org.opencontainers.image.source=${{ gitea.server_url }}/${{ gitea.repository }}
build-args: |
BUILDKIT_INLINE_CACHE=1
- name: SSH 部署服务器
uses: appleboy/ssh-action@master
with:
host: '113.44.68.213'
username: root
password: Havocantelope420
port: '22'
script: |
docker pull ${{ env.REGISTRY }}/${{ secrets.GHCR_USER }}/${{ env.IMAGE_NAME }}:${{ steps.branch_name.outputs.tag }}
docker stop catface_backend_go || true
docker rm catface_backend_go || true
docker run -d --name catface_backend_go -p 20201:20201 ${{ env.REGISTRY }}/${{ secrets.GHCR_USER }}/${{ env.IMAGE_NAME }}:${{ steps.branch_name.outputs.tag }}