开发现代化的.NetCore控制台程序:(3)将nuget包发布到GitHubPackages
前言
上一篇文章已經(jīng)把項目模板的nuget包發(fā)布到了 nuget 的官方源了,其實還可以發(fā)布到其他源,比如 GitHub ,本文記錄一下發(fā)布到 GitHub Packages 的過程。
注意:本文建立在本系列第二篇文章的基礎(chǔ)上,為了更好理解操作過程,請先熟悉本項目的代碼結(jié)構(gòu)
創(chuàng)建 GitHub token
訪問 https://github.com/settings/tokens 頁面
生成一個 token (classic)
記得勾選跟 packages 有關(guān)的權(quán)限
在項目中添加 nuget source 配置
在 src/Templates 目錄中新建 nuget.config 文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="github" value="https://nuget.pkg.github.com/NAMESPACE/index.json" />
</packageSources>
<packageSourceCredentials>
<github>
<add key="Username" value="USERNAME" />
<add key="ClearTextPassword" value="TOKEN" />
</github>
</packageSourceCredentials>
</configuration>
以上只是 GitHub 提供的配置模板,有幾個需要修改的地方
- 將
USERNAME替換為 GitHub 上的個人帳戶的名稱。 - 將
TOKEN替換為 personal access token (classic)。 - 將
NAMESPACE替換為作為包限定范圍的個人帳戶或組織的名稱。
發(fā)布包
執(zhí)行 dotnet pack 生成 nuget 包
然后執(zhí)行以下命令將生成的 nuget 包發(fā)布到 GitHub Packages
dotnet nuget push ".\bin\Release\FluentConsole.Templates.1.1.0.nupkg" --api-key TOKEN --source github
-
TOKEN是前面申請的
一切正常的話,可以看到以下輸出
正在將 FluentConsole.Templates.1.1.0.nupkg 推送到 'https://nuget.pkg.github.com/Deali-Axy'...
PUT https://nuget.pkg.github.com/Deali-Axy/
OK https://nuget.pkg.github.com/Deali-Axy/ 1129 毫秒
已推送包。
這時候就搞定了,訪問 https://github.com/Deali-Axy?tab=packages 可以看到已發(fā)布的 packages
將發(fā)布的包與代碼倉庫進(jìn)行關(guān)聯(lián)
因為項目地址是 https://github.com/Deali-Axy/fluent-dotnet-console
而包名是 FluentConsole.Templates
這倆不一致,所以不會自動關(guān)聯(lián),我們需要進(jìn)行手動關(guān)聯(lián)
進(jìn)入 package 詳情頁面:https://github.com/users/Deali-Axy/packages/nuget/package/FluentConsole.Templates
點擊下方的 Connect Repository 按鈕,選擇 fluent-dotnet-console 項目即可。
綁定之后在 package 的主頁可以看到 repository 的 README
在 repository 的右下角也可以看到這個 package
PS: GitHub 越來越好用了
參考資料
- https://docs.github.com/zh/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry
總結(jié)
以上是生活随笔為你收集整理的开发现代化的.NetCore控制台程序:(3)将nuget包发布到GitHubPackages的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ansible自动化部署工具-role模
- 下一篇: Excel 数据处理