GitHub Actions是个什么玩意?
今天登陆github时,发现一个玩意:GitHub Actions
(其实这玩意推出已经快一年了😂),试用了一下。还是好使的😘。GitHub Actions
其实就是我们说的持续集成。
先了解一下几个概念
- workflow (工作流程):一次持续集成的过程,有N个
job
组成 - job(任务):由N个
step
组成,每一个job运行在不同虚拟环境中。 - step(步骤) :每一个
step
运行在同一套虚拟环境中。 - action(动作/行为):具体的行为或操作。
使用GitHub Actions自动发布NuGet
- 在Github项目中,Setting-Secret中新增Nuget的SecretKey
点击Action进行配置:
配置yml
如下:
name: CodeSnippets Release
on: [push]
jobs:
build:
name: Build Project CodeSnippets
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.0.100
- name: Build with dotnet
run: dotnet build src-snippets/CodeSnippets --configuration Release
publish:
needs: [build]
name: Publish CodeSnippets To NuGet
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.0.100
- name: Publish
run: |
dotnet build src-snippets/CodeSnippets --configuration Release
dotnet nuget push src-snippets/CodeSnippets/bin/Release/CodeSnippets.*.nupkg -k ${APIKEY} -s https://www.nuget.org/api/v2/package
env:
APIKEY: ${{ secrets.NuGetAPIKey }}
因为每一个job运行在不通虚拟环境中,所以我们在publish这个job中,要使用dotnet build
重新编译一个包,不然会出现找不到文件的错误。
当代码push后,将运行Workflows:
然后会自动发布一个nuget包: