- 在自己的仓库里工作流
- 编辑workflow
- 贴上自己的工作流
name: ASP.NET Core Deployment
on:
push:
branches:
- master # 你可以根据需要更改分支名称(在向master分支推送的时候触发这个workflow)
jobs:
deploy:
runs-on: ubuntu-latest # 使用 Ubuntu 环境
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v2
with:
dotnet-version: '3.1' # 可以根据需要更改 .NET Core 版本(按安装3.1版本)
- name: Build and Publish
run: |
dotnet publish -c Release -r linux-x64 -o out (打包成linux环境,放在out目录下)
- name: Copy Files to Server
uses: appleboy/scp-action@master
with:
host: ${{secrets.HOST}}
username: ${{secrets.USERNAME}}
password: ${{secrets.PASSWORD}}
port: 22
source: "out/"
target: "/root/test/deploy"
- name: SSH into Server
uses: appleboy/[email protected]
with:
host: ${{secrets.HOST}}
username: ${{secrets.USERNAME}}
password: ${{secrets.PASSWORD}}
port: 22
script:
cd /root/test/deploy/out
nohup dotnet ***.dll > app.log 2>&1 &
然后解释一下整个过程
1. 在github的服务器上把代码checkout
2. 在github的服务器上安装.NET Core的SDK(目的是为了下一步编译)
3. 用SDK把代码build到目标目录out
4. 使用scp把out目录复制到自己的服务器上
5. 使用SSH连接服务器到刚解压后的目录,运行开始服务的命令
之前处理的时候需要SSH连自己服务器的时候用Key连,把私钥放好之后一直连不上,最后还是用password连了。
标签:core,github,name,secrets,action,asp,dotnet,服务器,out
From: https://www.cnblogs.com/1521681359qqcom/p/17988789