Browse Source

🚀 添加Github Action自动化部署

pull/43/head
王军 4 years ago
parent
commit
02abb57361
  1. 20
      .github/workflows/dotnet-unit-test.yml
  2. 60
      .github/workflows/publish-backend.yml
  3. 30
      .github/workflows/publish-frontend.yml
  4. 4
      aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/appsettings.json

20
.github/workflows/dotnet-unit-test.yml

@ -1,20 +0,0 @@
name: Unit Test
on:
push:
branches:
- main
jobs:
AbpVnextPrc-CI:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Dotnet 6.x
uses: actions/setup-dotnet@v1
with:
dotnet-version: "6.0"
include-prerelease: True
- name: Build
run: dotnet build aspnet-core/Lion.AbpPro.sln
- name: Test
run: dotnet test aspnet-core/services/test/Lion.AbpPro.Domain.Tests/Lion.AbpPro.Domain.Tests.csproj

60
.github/workflows/publish-backend.yml

@ -0,0 +1,60 @@
name: 后端部署(API,IdentityServer4,Gateways)
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Dotnet 6.x
uses: actions/setup-dotnet@v1
with:
dotnet-version: "6.0"
include-prerelease: True
- name: 编译
run: dotnet build aspnet-core/Lion.AbpPro.sln
- name: 单元测试
run: dotnet test aspnet-core/services/test/Lion.AbpPro.Domain.Tests/Lion.AbpPro.Domain.Tests.csproj
- name: 发布->Lion.AbpPro.HttpApi.Host
run: dotnet publish aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Lion.AbpPro.HttpApi.Host.csproj -o Lion.AbpPro.HttpApi.Host
- name: 发布->Lion.AbpPro.IdentityServer
run: dotnet publish aspnet-core/services/host/Lion.AbpPro.IdentityServer/Lion.AbpPro.IdentityServer.csproj -o Lion.AbpPro.IdentityServer
- name: 发布->Lion.AbpPro.IdentityServer
run: dotnet publish aspnet-core/gateways/Lion.AbpPro.WebGateway/Lion.AbpPro.WebGateway.csproj -o Lion.AbpPro.WebGateway
- name: 部署->Lion.AbpPro.HttpApi.Host
uses: easingthemes/ssh-deploy@v2.2.11
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
ARGS: "-avzr --delete --exclude 'appsettings.json'"
SOURCE: "Lion.AbpPro.HttpApi.Host"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "/root/wwwroot"
- name: 部署->Lion.AbpPro.IdentityServer
uses: easingthemes/ssh-deploy@v2.2.11
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
ARGS: "-avzr --delete --exclude 'appsettings.json'"
SOURCE: "Lion.AbpPro.IdentityServer"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "/root/wwwroot"
- name: 部署->Lion.AbpPro.WebGateway
uses: easingthemes/ssh-deploy@v2.2.11
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
ARGS: "-avzr --delete --exclude 'appsettings.json'"
SOURCE: "Lion.AbpPro.WebGateway"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "/root/wwwroot"

30
.github/workflows/publish-frontend.yml

@ -0,0 +1,30 @@
name: 前端部署(vue)
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.1
with:
persist-credentials: false
- name: 编译|发布
run: |
cd vben271
yarn
npm run build
- name: 部署->Vue
uses: easingthemes/ssh-deploy@v2.2.11
env:
SSH_PRIVATE_KEY: ${{ secrets.ALIYUN_SERVER_ACCESS_TOKEN }}
ARGS: "-avzr --delete"
SOURCE: "vben271/dist"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "/root/wwwroot"

4
aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/appsettings.json

@ -68,8 +68,8 @@
"Github": {
"Name": "Github",
"Url": "https://github.com",
"ClientId": "127fc528f611879fba03q2w3e",
"ClientSecret": "fd0914e9e8e28b51dd5efe381121429279e43973q2w3e"
"ClientId": "127fc528f611879fba03",
"ClientSecret": "fd0914e9e8e28b51dd5efe381121429279e43973"
},
"GithubApi": {
"Name": "GithubApi",

Loading…
Cancel
Save