vars
All checks were successful
build and push / build-and-push (push) Successful in 1m40s

This commit is contained in:
编码猿
2025-10-07 03:51:40 +08:00
parent ec31306c9c
commit 37791c4bd9

View File

@@ -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 }}