60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
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.007yjs.com|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: hongKong
|
|
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/admin.007yjs.com/
|
|
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/admin.007yjs.com/
|
|
|