51 lines
1.9 KiB
YAML
51 lines
1.9 KiB
YAML
name: Build CI
|
||
|
||
on:
|
||
push:
|
||
branches: [ master ]
|
||
pull_request:
|
||
branches: [ master ]
|
||
|
||
jobs:
|
||
build:
|
||
runs-on: ubuntu-latest
|
||
|
||
steps:
|
||
- name: checkout
|
||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||
|
||
- name: Install pnpm
|
||
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
|
||
|
||
- name: Use Node.js
|
||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||
with:
|
||
node-version: 24.x
|
||
cache: 'pnpm'
|
||
|
||
- name: install
|
||
run: pnpm install --frozen-lockfile
|
||
|
||
- name: Build
|
||
run: pnpm build:prod
|
||
|
||
- name: ClearFile
|
||
uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5
|
||
with:
|
||
host: ${{ secrets.SSH_HOST }} # 下面三个配置与上一步类似
|
||
username: ${{ secrets.SSH_USERNAME }}
|
||
key: ${{ secrets.DEPLOY_KEY }}
|
||
# 重启的脚本,根据自身情况做相应改动,一般要做的是migrate数据库以及重启服务器
|
||
script: |
|
||
sudo rm -rf /www/vue2/*
|
||
|
||
- name: Deploy to Server # 第四步,rsync推送文件
|
||
uses: AEnterprise/rsync-deploy@72ddc262307c9dd0213aa3fbd9816c8932260326 # v1.0.2 # 使用别人包装好的步骤镜像
|
||
env:
|
||
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }} # 引用配置,SSH私钥
|
||
ARGS: -avz --delete --exclude='*.pyc' # rsync参数,排除.pyc文件
|
||
SERVER_PORT: '22' # SSH端口
|
||
FOLDER: ./dist/* # 要推送的文件夹,路径相对于代码仓库的根目录
|
||
SERVER_IP: ${{ secrets.SSH_HOST }} # 引用配置,服务器的host名(IP或者域名domain.com)
|
||
USERNAME: ${{ secrets.SSH_USERNAME }} # 引用配置,服务器登录名
|
||
SERVER_DESTINATION: /www/vue2/ # 部署到目标文件夹 |