97 lines
3.0 KiB
YAML
97 lines
3.0 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
# 推送时执行
|
|
push:
|
|
branches: [dev]
|
|
# pr 时执行
|
|
pull_request:
|
|
branches: [dev]
|
|
# 可手动执行
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
# 部署后端服务
|
|
deploy-server:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# 1、检出源码
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
# 2、安装 Java 环境
|
|
- name: Setup Java
|
|
uses: actions/setup-java@master
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '8'
|
|
cache: 'maven'
|
|
# 3、打包
|
|
- name: Build
|
|
run: mvn -B package -P prod --file pom.xml
|
|
# 4、拷贝 jar 包到服务器
|
|
- name: Copy Jar
|
|
uses: garygrossgarten/github-action-scp@release
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
port: ${{ secrets.SERVER_PORT }}
|
|
username: ${{ secrets.SERVER_USERNAME }}
|
|
password: ${{ secrets.SERVER_PASSWORD }}
|
|
local: continew-admin-webapi/target/continew-admin.jar
|
|
remote: /docker/continew-admin/server/continew-admin.jar
|
|
# 5、启动后端服务
|
|
- name: Start
|
|
uses: appleboy/ssh-action@master
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
port: ${{ secrets.SERVER_PORT }}
|
|
username: ${{ secrets.SERVER_USERNAME }}
|
|
password: ${{ secrets.SERVER_PASSWORD }}
|
|
script: |
|
|
cd /docker
|
|
docker-compose up --force-recreate --build -d continew-admin-server
|
|
docker images | grep none | awk '{print $3}' | xargs docker rmi
|
|
|
|
# 部署前端
|
|
deploy-web:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# 1、检出源码
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
# 2、安装 Node 环境
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 16
|
|
cache: yarn
|
|
cache-dependency-path: ./continew-admin-ui/yarn.lock
|
|
# 3、安装依赖
|
|
- name: Install Dependencies
|
|
run: yarn install --frozen-lockfile
|
|
working-directory: ./continew-admin-ui
|
|
# 4、打包
|
|
- name: Build
|
|
run: yarn build
|
|
working-directory: ./continew-admin-ui
|
|
# 5、拷贝文件到服务器
|
|
- name: Copy
|
|
uses: garygrossgarten/github-action-scp@release
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
port: ${{ secrets.SERVER_PORT }}
|
|
username: ${{ secrets.SERVER_USERNAME }}
|
|
password: ${{ secrets.SERVER_PASSWORD }}
|
|
local: ./continew-admin-ui/dist
|
|
remote: /docker/continew-admin/tmp
|
|
# 6、重启前端服务
|
|
- name: Restart
|
|
uses: appleboy/ssh-action@master
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
port: ${{ secrets.SERVER_PORT }}
|
|
username: ${{ secrets.SERVER_USERNAME }}
|
|
password: ${{ secrets.SERVER_PASSWORD }}
|
|
script: |
|
|
rm -rf /docker/continew-admin/web/*
|
|
mv /docker/continew-admin/tmp/* /docker/continew-admin/web
|
|
docker restart nginx |