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 \ + "