From 7adcebee758c9f4d5d2192458ff388f5848b50ad Mon Sep 17 00:00:00 2001 From: YGXB_net Date: Tue, 2 Sep 2025 22:29:39 +0800 Subject: [PATCH] =?UTF-8?q?ops:=20=E6=B7=BB=E5=8A=A0CI/CD=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E5=92=8C=E9=83=A8=E7=BD=B2=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yaml | 45 ++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 013e9f4..bc2eec1 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -11,4 +11,47 @@ jobs: uses: actions/checkout@v4 - name: 构建Docker镜像 - run: docker build -t dypid:latest . \ No newline at end of file + 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 \ + "