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包: