From 929e405aab3b1fb02d2f42c4fc25955207df1050 Mon Sep 17 00:00:00 2001 From: shanshanzhong Date: Sun, 4 Jan 2026 00:52:28 -0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E7=AB=99=E7=82=B9=E7=9A=84Gitea=E5=B7=A5=E4=BD=9C=E6=B5=81?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/docker.yml | 86 +++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .gitea/workflows/docker.yml diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml new file mode 100644 index 0000000..ad57afb --- /dev/null +++ b/.gitea/workflows/docker.yml @@ -0,0 +1,86 @@ +name: site-dist-deploy + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - main + - develop + + +env: + VITE_APP_BASE_URL: https://h.hifast.biz + SSH_HOST: ${{ vars.PRO_SSH_HOST }} + SSH_PORT: ${{ vars.PRO_SSH_PORT }} + SSH_USER: ${{ vars.PRO_SSH_USER }} + SSH_PASSWORD: ${{ vars.PRO_SSH_PASSWORD }} + DEPLOY_PATH: /var/www/down + +jobs: + build-and-deploy: + runs-on: landing-hero-web01 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Build dist in Node container + run: | + docker run --rm -v "$PWD":/app -w /app node:20 bash -lc ' + npm ci + echo "VITE_APP_BASE_URL=${VITE_APP_BASE_URL}" > .env.pord + npm run build:prod + tar -C dist -czf site_dist.tgz . + ' + + - name: Prepare target directory + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.SSH_HOST }} + username: ${{ env.SSH_USER }} + password: ${{ env.SSH_PASSWORD }} + port: ${{ env.SSH_PORT }} + timeout: 300s + script: | + mkdir -p ${{ env.DEPLOY_PATH }} + rm -rf ${{ env.DEPLOY_PATH }}/* + mkdir -p /tmp/ci-upload + + - name: Upload dist archive + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ env.SSH_HOST }} + username: ${{ env.SSH_USER }} + password: ${{ env.SSH_PASSWORD }} + port: ${{ env.SSH_PORT }} + source: "site_dist.tgz" + target: "/tmp/ci-upload" + overwrite: true + + - name: Extract archive to deploy path + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.SSH_HOST }} + username: ${{ env.SSH_USER }} + password: ${{ env.SSH_PASSWORD }} + port: ${{ env.SSH_PORT }} + timeout: 300s + script: | + cd ${{ env.DEPLOY_PATH }} + tar -xzf /tmp/ci-upload/site_dist.tgz + rm -f /tmp/ci-upload/site_dist.tgz + + - name: Reload Nginx + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.SSH_HOST }} + username: ${{ env.SSH_USER }} + password: ${{ env.SSH_PASSWORD }} + port: ${{ env.SSH_PORT }} + timeout: 300s + script: | + nginx -t && nginx -s reload