ops: 添加CI/CD构建和部署流程
This commit is contained in:
@@ -12,3 +12,46 @@ jobs:
|
|||||||
|
|
||||||
- name: 构建Docker镜像
|
- name: 构建Docker镜像
|
||||||
run: docker build -t dypid:latest .
|
run: docker build -t dypid:latest .
|
||||||
|
|
||||||
|
- name: 导出镜像
|
||||||
|
run: docker save -o release/dypid.tar dypid:latest
|
||||||
|
|
||||||
|
- name: 上传镜像
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: dypid-release
|
||||||
|
path: release/
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
env:
|
||||||
|
RUNNER_TOOL_CACHE: /toolcache
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: 下载镜像
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: dypid-release
|
||||||
|
path: release
|
||||||
|
|
||||||
|
- 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: |
|
||||||
|
# 上传新镜像
|
||||||
|
sshpass -p "$SSH_PASSWORD" scp release/dypid.tar $SSH_USER@$SSH_HOST:/tmp/dypid.tar
|
||||||
|
# 重启程序
|
||||||
|
sshpass -p "$SSH_PASSWORD" ssh $DEPLOY_USER@$DEPLOY_HOST \
|
||||||
|
"
|
||||||
|
docker load -i /tmp/dypid.tar \
|
||||||
|
&& cd $DEPLOY_DIR \
|
||||||
|
&& docker compose up -d \
|
||||||
|
"
|
||||||
|
Reference in New Issue
Block a user