在上一篇 建立 NuGet 套件,上傳到 nuget.org 文章中,
我們需要手動下指令打包、將 .nupkg 檔案上傳到 NuGet.org 中來發布套件。
每次更新都需要重複一次,但是我們可以使用 GitHub Action ,在達成特定的條件時自動執行指令發佈套件。 進到 GitHub 的 Repository 中,點選 Settings > Security > Actions > Repository secrets ,點選 New repository secret
將上一篇文章中 NuGet 的 API Key 放在這裡,我們命名為 NUGET_API_KEY
在專案中根目錄下依照以下路徑建立 publish.yml 檔案:
檔案內容如下:
上面的意思是只要使用 vx.x.x 格式,例如 v1.0.0 這樣格式建立的 tag ,就會自動觸發 GitHub Action ,執行發布的動作。
文章撰寫中...請稍後...
參考資料:
GitHub.Docs - Using secrets in GitHub Actions
GitHub.Marketplace Actions - Setup .NET Core SDK
GitHub.Marketplace Actions - Publish NuGet
GitHub.Docs - Understanding GitHub Actions
GitHub - actions/checkout
每次更新都需要重複一次,但是我們可以使用 GitHub Action ,在達成特定的條件時自動執行指令發佈套件。 進到 GitHub 的 Repository 中,點選 Settings > Security > Actions > Repository secrets ,點選 New repository secret
將上一篇文章中 NuGet 的 API Key 放在這裡,我們命名為 NUGET_API_KEY
在專案中根目錄下依照以下路徑建立 publish.yml 檔案:
.github/workflows/publish.yml
檔案內容如下:
name: publish to NuGet
on:
push:
tags:
- "v*.*.*"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Restore Dependencies
run: dotnet restore
- name: Build Solution
run: dotnet build --configuration Release --no-restore
- name: Pack NuGet Package
run: dotnet pack --configuration Release --no-build --output nupkgs
- name: Publish to NuGet
run: dotnet nuget push nupkgs/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
上面的意思是只要使用 vx.x.x 格式,例如 v1.0.0 這樣格式建立的 tag ,就會自動觸發 GitHub Action ,執行發布的動作。
文章撰寫中...請稍後...
參考資料:
GitHub.Docs - Using secrets in GitHub Actions
GitHub.Marketplace Actions - Setup .NET Core SDK
GitHub.Marketplace Actions - Publish NuGet
GitHub.Docs - Understanding GitHub Actions
GitHub - actions/checkout
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com