From 37791c4bd9c116ab7fd99d89a5ad6eec30e2168c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=8C=BF?= Date: Tue, 7 Oct 2025 03:51:40 +0800 Subject: [PATCH] vars --- .gitea/workflows/build.yml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index e75ba2c..71cc1b9 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -19,7 +19,7 @@ jobs: - name: 登录到自己的 Docker 仓库 uses: docker/login-action@v3 with: - registry: registry.bmycode.help + registry: ${{ vars.DOCKER_REGISTRY }} username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} @@ -30,8 +30,8 @@ jobs: context: . push: true tags: | - registry.bmycode.help/app-product:latest - registry.bmycode.help/app-product:${{ github.sha }} + ${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_IMAGE_NAME }}:latest + ${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ github.sha }} - name: 替换镜像标签为 github.sha @@ -46,7 +46,7 @@ jobs: password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} source: "app-product.yml" - target: "/home/bmy/" + target: ${{ vars.SSH_MANAGE_PATH }} - name: 登录前端集群,拉镜像 uses: appleboy/ssh-action@v1 @@ -59,15 +59,10 @@ jobs: password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} script: | + # 简化版:删除该仓库的所有镜像(无需排除) + docker images --format "{{.ID}}" ${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_IMAGE_NAME }} | xargs -r docker rmi -f # 拉取刚打包的最新镜像 - docker pull registry.bmycode.help/app-product:${{ github.sha }} - echo '清理旧的 镜像...' - # 删除除了本次 github.sha 和 latest 之外的所有 镜像 - docker images registry.bmycode.help/app-product --format 'table {{.Repository}}:{{.Tag}}' | \ - grep -v 'registry.bmycode.help/app-product:${{ github.sha }}' | \ - grep 'registry.bmycode.help/app-product' | \ - xargs -r docker rmi -f || true - + docker pull ${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ github.sha }} - name: 管理节点部署到 Swarm uses: appleboy/ssh-action@v1 @@ -79,4 +74,4 @@ jobs: port: ${{ secrets.PORT }} script: | # 切换到管理员,要不然没权限在服务器执行 docker 命令,部署到 Swarm 集群 - sudo docker stack deploy -c /home/bmy/app-product.yml app-product + sudo docker stack deploy -c ${{ vars.SSH_MANAGE_PATH }}/app-product.yml ${{ vars.DOCKER_IMAGE_NAME }}