ci(gitea): update Docker build workflow
- Update registry to use GHCR (GitHub Container Registry) - Simplify environment variables and remove unused ones - Refactor branch handling and tag generation - Remove Docker metadata action and simplify build process - Add debug information output - Update comments and structure for better readability
This commit is contained in:
		
							parent
							
								
									483296f906
								
							
						
					
					
						commit
						ea770f4ae8
					
				@ -12,8 +12,9 @@ on:
 | 
			
		||||
    branches: ["main"]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  REGISTRY: 113.44.68.213:3000
 | 
			
		||||
  IMAGE_NAME: ${{ gitea.repository }}
 | 
			
		||||
  REGISTRY: ghcr.io  # 直接使用GHCR
 | 
			
		||||
  IMAGE_NAME: test   # 对应您要推送的镜像名称
 | 
			
		||||
  GHCR_USER: havoc412 # 您的GitHub用户名
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build-and-push:
 | 
			
		||||
@ -23,13 +24,11 @@ jobs:
 | 
			
		||||
      packages: write
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: 获取 Gitea 配置
 | 
			
		||||
      - name: 打印调试信息
 | 
			
		||||
        run: |
 | 
			
		||||
          echo ${{ env.REGISTRY }}
 | 
			
		||||
          echo ${{ gitea.actor }}
 | 
			
		||||
          echo ${{ secrets.GHCR_USER }}
 | 
			
		||||
          echo ${{ secrets.GHCR_TOKEN }}
 | 
			
		||||
          echo ${{ env.IMGAE_NAME }}
 | 
			
		||||
          echo "Registry: ${{ env.REGISTRY }}"
 | 
			
		||||
          echo "Image: ${{ env.GHCR_USER }}/${{ env.IMAGE_NAME }}"
 | 
			
		||||
          echo "GitHub Actor: ${{ gitea.actor }}"
 | 
			
		||||
 | 
			
		||||
      - name: 检出代码
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
@ -37,47 +36,45 @@ jobs:
 | 
			
		||||
      - name: 获取分支名称
 | 
			
		||||
        id: branch_name
 | 
			
		||||
        run: |
 | 
			
		||||
          # 从 GITHUB_REF 提取分支名
 | 
			
		||||
          branch=${GITHUB_REF#refs/heads/}
 | 
			
		||||
          echo "branch=$branch" >> $GITHUB_OUTPUT
 | 
			
		||||
          # 如果是 main 分支,使用 prod 标签,否则使用 dev-分支名
 | 
			
		||||
          if [ "$branch" = "main" ]; then
 | 
			
		||||
            echo "env_suffix=prod" >> $GITHUB_OUTPUT
 | 
			
		||||
          echo "branch=${branch}" >> $GITHUB_OUTPUT
 | 
			
		||||
          # 主分支用latest,其他分支用dev-分支名
 | 
			
		||||
          if [ "${branch}" = "main" ]; then
 | 
			
		||||
            echo "tag=latest" >> $GITHUB_OUTPUT
 | 
			
		||||
          else
 | 
			
		||||
            echo "env_suffix=dev-${branch}" >> $GITHUB_OUTPUT
 | 
			
		||||
          fi          
 | 
			
		||||
            # 替换非法字符为-
 | 
			
		||||
            safe_branch=$(echo "${branch}" | sed 's/[^a-zA-Z0-9]/-/g')
 | 
			
		||||
            echo "tag=dev-${safe_branch}" >> $GITHUB_OUTPUT
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
      - name: 登录到 Github Container Registry
 | 
			
		||||
      - name: 登录到 GitHub Container Registry
 | 
			
		||||
        uses: docker/login-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          registry: ghcr.io
 | 
			
		||||
          username: ${{ secrets.GHCR_USER }}
 | 
			
		||||
          password: ${{ secrets.GHCR_TOKEN }}
 | 
			
		||||
          registry: ${{ env.REGISTRY }}
 | 
			
		||||
          username: ${{ env.GHCR_USER }}
 | 
			
		||||
          password: ${{ secrets.GHCR_TOKEN }} # 在Gitea仓库设置中添加此secret
 | 
			
		||||
 | 
			
		||||
      - name: 提取 Docker 元数据
 | 
			
		||||
        id: meta
 | 
			
		||||
        uses: docker/metadata-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
 | 
			
		||||
          tags: |
 | 
			
		||||
            # main 分支使用标准标签
 | 
			
		||||
            type=raw,value=latest,enable=${{ steps.branch_name.outputs.branch == 'main' }}
 | 
			
		||||
            type=raw,value=${{ steps.branch_name.outputs.env_suffix }}
 | 
			
		||||
            type=sha,format=short,prefix=${{ steps.branch_name.outputs.env_suffix }}-
 | 
			
		||||
            type=ref,event=tag,prefix=${{ steps.branch_name.outputs.env_suffix }}-            
 | 
			
		||||
      # - name: 构建并推送 Docker 镜像
 | 
			
		||||
      #   uses: docker/build-push-action@v5
 | 
			
		||||
      #   with:
 | 
			
		||||
      #     context: .
 | 
			
		||||
      #     push: true
 | 
			
		||||
      #     tags: |
 | 
			
		||||
      #       ${{ env.REGISTRY }}/${{ env.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: 构建并推送 Docker 镜像
 | 
			
		||||
        uses: docker/build-push-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          context: .
 | 
			
		||||
          push: true
 | 
			
		||||
          tags: ${{ steps.meta.outputs.tags }}
 | 
			
		||||
          labels: ${{ steps.meta.outputs.labels }}
 | 
			
		||||
          build-args: |
 | 
			
		||||
            BUILDKIT_INLINE_CACHE=0            
 | 
			
		||||
          # 添加清理缓存的命令
 | 
			
		||||
          outputs: type=docker,cleancache=true
 | 
			
		||||
 | 
			
		||||
#       - name: Trigger Portainer Webhook
 | 
			
		||||
#         run: |
 | 
			
		||||
#           curl -k -X POST ${{ secrets.BACKEND_WEBHOOK_URL }}          
 | 
			
		||||
      # - name: 通过SSH部署到服务器
 | 
			
		||||
      #   if: ${{ steps.branch_name.outputs.branch == 'main' }} # 仅main分支触发部署
 | 
			
		||||
      #   run: |
 | 
			
		||||
      #     ssh -o StrictHostKeyChecking=no \
 | 
			
		||||
      #         -i "${{ secrets.SSH_PRIVATE_KEY }}" \
 | 
			
		||||
      #         ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'EOF'
 | 
			
		||||
      #     # 拉取最新镜像
 | 
			
		||||
      #     docker pull ${{ env.REGISTRY }}/${{ env.GHCR_USER }}/${{ env.IMAGE_NAME }}:${{ steps.branch_name.outputs.tag }}
 | 
			
		||||
      #     # 重启服务(根据实际情况修改)
 | 
			
		||||
      #     docker-compose down || true
 | 
			
		||||
      #     docker-compose up -d
 | 
			
		||||
      #     EOF
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user