ci: 添加构建和部署工作流
- 新增 build-service-server.yaml 和 build-test-server.yaml 文件 - 设置 pnpm 安装和项目构建步骤 - 实现代码部署到测试和生产服务器的功能 - 添加域名替换和 SSH 密钥配置
This commit is contained in:
@@ -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/
|
||||
|
||||
Reference in New Issue
Block a user