This commit is contained in:
@@ -19,7 +19,7 @@ jobs:
|
|||||||
- name: 登录到自己的 Docker 仓库
|
- name: 登录到自己的 Docker 仓库
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: registry.bmycode.help
|
registry: ${{ vars.DOCKER_REGISTRY }}
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
@@ -30,8 +30,8 @@ jobs:
|
|||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
registry.bmycode.help/app-product:latest
|
${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_IMAGE_NAME }}:latest
|
||||||
registry.bmycode.help/app-product:${{ github.sha }}
|
${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ github.sha }}
|
||||||
|
|
||||||
|
|
||||||
- name: 替换镜像标签为 github.sha
|
- name: 替换镜像标签为 github.sha
|
||||||
@@ -46,7 +46,7 @@ jobs:
|
|||||||
password: ${{ secrets.PASSWORD }}
|
password: ${{ secrets.PASSWORD }}
|
||||||
port: ${{ secrets.PORT }}
|
port: ${{ secrets.PORT }}
|
||||||
source: "app-product.yml"
|
source: "app-product.yml"
|
||||||
target: "/home/bmy/"
|
target: ${{ vars.SSH_MANAGE_PATH }}
|
||||||
|
|
||||||
- name: 登录前端集群,拉镜像
|
- name: 登录前端集群,拉镜像
|
||||||
uses: appleboy/ssh-action@v1
|
uses: appleboy/ssh-action@v1
|
||||||
@@ -59,15 +59,10 @@ jobs:
|
|||||||
password: ${{ secrets.PASSWORD }}
|
password: ${{ secrets.PASSWORD }}
|
||||||
port: ${{ secrets.PORT }}
|
port: ${{ secrets.PORT }}
|
||||||
script: |
|
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 }}
|
docker pull ${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ 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
|
|
||||||
|
|
||||||
|
|
||||||
- name: 管理节点部署到 Swarm
|
- name: 管理节点部署到 Swarm
|
||||||
uses: appleboy/ssh-action@v1
|
uses: appleboy/ssh-action@v1
|
||||||
@@ -79,4 +74,4 @@ jobs:
|
|||||||
port: ${{ secrets.PORT }}
|
port: ${{ secrets.PORT }}
|
||||||
script: |
|
script: |
|
||||||
# 切换到管理员,要不然没权限在服务器执行 docker 命令,部署到 Swarm 集群
|
# 切换到管理员,要不然没权限在服务器执行 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 }}
|
||||||
|
|||||||
Reference in New Issue
Block a user