ops(workflow): 添加开发环境部署配置并优化生产环境部署
Some checks failed
构建上传工具 / build (push) Failing after 5m47s
部署开发环境 / build-and-deploy (push) Successful in 1m21s

This commit is contained in:
2025-09-09 23:37:36 +08:00
parent cf4287ddd9
commit eb88f4b231
3 changed files with 44 additions and 19 deletions

View File

@@ -3,6 +3,8 @@ on: [ push ]
jobs:
build:
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: 检出代码
@@ -19,7 +21,7 @@ jobs:
&& go env -w GOARCH=amd64 \
&& go env -w GOOS=windows \
&& go mod tidy \
&& cd ./tool
&& cd ./tool \
&& go build -o 上传工具.exe
- name: 上传构建文件

View File

@@ -1,4 +1,4 @@
name: 构建Docker镜像
name: 部署开发环境
on: [ push ]
jobs:
@@ -37,20 +37,3 @@ jobs:
&& cd $DEPLOY_DIR \
&& docker compose up -d \
&& docker image prune -f"
- name: 部署程序到生产服务器
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_USER: ${{ secrets.SSH_USER }}
SSH_PASSWORD: ${{ secrets.SSH_PASSWORD }}
DEPLOY_DIR: "/data/dypid"
run: |
set -ex
# 上传新镜像
sshpass -p "$SSH_PASSWORD" scp -o StrictHostKeyChecking=no release/dypid.tar $SSH_USER@$SSH_HOST:/tmp/dypid.tar
# 重启程序
sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no $SSH_USER@$SSH_HOST \
"docker load -i /tmp/dypid.tar \
&& cd $DEPLOY_DIR \
&& docker compose up -d \
&& docker image prune -f"

View File

@@ -0,0 +1,40 @@
name: 部署生产环境
on:
workflow_dispatch:
jobs:
build-and-deploy:
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: actions/checkout@v4
- name: 构建Docker镜像
run: docker build -t dypid:latest .
- name: 导出镜像
run: mkdir release && docker save -o release/dypid.tar dypid:latest && docker rmi dypid:latest
- name: 安装sshpass工具
run: |
apt update
apt install -y sshpass
- name: 部署程序到生产服务器
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_USER: ${{ secrets.SSH_USER }}
SSH_PASSWORD: ${{ secrets.SSH_PASSWORD }}
DEPLOY_DIR: "/data/dypid"
run: |
set -ex
# 上传新镜像
sshpass -p "$SSH_PASSWORD" scp -o StrictHostKeyChecking=no release/dypid.tar $SSH_USER@$SSH_HOST:/tmp/dypid.tar
# 重启程序
sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no $SSH_USER@$SSH_HOST \
"docker load -i /tmp/dypid.tar \
&& cd $DEPLOY_DIR \
&& docker compose up -d \
&& docker image prune -f"