使用GitHub Actions做自動化

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包:
在這裏插入圖片描述

參考

GitHub Actions 入門教程
使用 GitHub Action 部署 NuGet 包

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章