From 479c04d34c0d22ef4a62b3a967bea432e4088d80 Mon Sep 17 00:00:00 2001 From: shiran <2488252513@qq.com> Date: Fri, 12 Sep 2025 16:42:19 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E5=92=8C=E9=83=A8=E7=BD=B2=E5=B7=A5=E4=BD=9C=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 build-service-server.yaml 和 build-test-server.yaml 文件 - 设置 pnpm 安装和项目构建步骤 - 实现代码部署到测试和生产服务器的功能 - 添加域名替换和 SSH 密钥配置 --- .gitea/workflows/build-service-server.yaml | 59 ++++++++++++++++++++++ .gitea/workflows/build-test-server.yaml | 53 +++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 .gitea/workflows/build-service-server.yaml create mode 100644 .gitea/workflows/build-test-server.yaml diff --git a/.gitea/workflows/build-service-server.yaml b/.gitea/workflows/build-service-server.yaml new file mode 100644 index 0000000..a20864c --- /dev/null +++ b/.gitea/workflows/build-service-server.yaml @@ -0,0 +1,59 @@ +name: 'Build and Deploy Vue3' + +on: + push: + branches: + - deploy + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install pnpm + run: | + npm install -g pnpm + + - name: Install dependencies + run: | + pnpm install + + - name: 替换域名 + run: | + find . -type f -exec sed -i 's|apiservertest.s1f.ren|cloudapi.007idc.cn|g' {} + + + - name: Build project + run: | + pnpm build + + - name: Save artifact + uses: actions/upload-artifact@v3 + with: + name: vue3-build + path: | + ./dist + + deploy: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download Artifact + uses: actions/download-artifact@v3 + with: + name: vue3-build + + - name: Set up SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.PUBLICT_PRIVATE_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + + - name: Deploy to server + run: | + ssh-keyscan -H ${{ vars.WEB_SERVICE_SERVER_IP_1 }} >> ~/.ssh/known_hosts + scp -o StrictHostKeyChecking=no -r ./* ${{ vars.ROOT_USER_NAME }}@${{ vars.WEB_SERVICE_SERVER_IP_1 }}:/home/www/cloud/ + ssh-keyscan -H ${{ vars.WEB_SERVICE_SERVER_IP_2 }} >> ~/.ssh/known_hosts + scp -o StrictHostKeyChecking=no -r ./* ${{ vars.ROOT_USER_NAME }}@${{ vars.WEB_SERVICE_SERVER_IP_2 }}:/home/www/cloud/ + diff --git a/.gitea/workflows/build-test-server.yaml b/.gitea/workflows/build-test-server.yaml new file mode 100644 index 0000000..4edb585 --- /dev/null +++ b/.gitea/workflows/build-test-server.yaml @@ -0,0 +1,53 @@ +name: 'Build and Deploy Vue3' + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install pnpm + run: | + npm install -g pnpm + + - name: Install dependencies + run: | + pnpm install + + - name: Build project + run: | + pnpm build + + - name: Save artifact + uses: actions/upload-artifact@v3 + with: + name: vue3-build + path: | + ./dist + + deploy: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download Artifact + uses: actions/download-artifact@v3 + with: + name: vue3-build + + - name: Set up SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.PUBLICT_PRIVATE_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan -H ${{ vars.WEB_TEST_SERVER_IP }} >> ~/.ssh/known_hosts + + - name: Deploy to server + run: | + scp -o StrictHostKeyChecking=no -r ./* ${{ vars.ROOT_USER_NAME }}@${{ vars.WEB_TEST_SERVER_IP }}:/www/wwwroot/apiserver_admin.s1f.ren/ +