2019/08/22

[筆記] 自建 nuget server 之後的幾個實用指令

之前參考了這篇文章幫部門內建立了 nuget server ,並把一些比較底層的元件抽成 nuget 套件

一方面幫整個方案瘦身,一方面也避免直接參考 dll 檔造成大家更版時要看著 dll 猜版號 XD

因為元件還沒升級上 .net core ,無法直接使用 visual studio 來打包,要另外找打包工具

以下為 command 紀錄,黑色為 command,鐵灰色文字為 console output

下 command 的位置為 csproj 檔所在位置

nuget.exe 的下載位置在 https://www.nuget.org/downloads

下載最新版的 exe 即可




  • 建立 nuget 封裝描述檔,僅於封裝描述不存在時執行

nuget spec

已成功建立 'MyNugetPackage.nuspec'。




  • 將專案打包為 nuget 封裝

nuget pack MyNugetPackage.csproj -Properties Configuration=Release

正在嘗試從 'MyNugetPackage.csproj' 建置封裝。
MSBuild auto-detection: using msbuild version '15.5.180.51428' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin'.
正在封裝 ‘**** MyNugetPackage\src\bin\Release' 中的檔案。
正在使用中繼資料的 'MyNugetPackage.nuspec'。
找到 packages.config。使用列出的封裝做為相依性。
Successfully created package ‘**** MyNugetPackage\MyNugetPackage.3.0.0.nupkg'.



  • 將 nuget 封裝推送至 nuget server

nuget.exe push MyNugetPackage.3.0.0.nupkg {apiKey} -Source https://my-nuget-server.com/nuget

Pushing MyNugetPackage.3.0.0.nupkg to 'https://my-nuget-server.com/nuget'...
請提供以下項目的認證: https://my-nuget-server.com/nuget
使用者名稱: user_name
密碼: ********
Your package was pushed.



  • 移除 nuget server 上指定版本的封裝檔 (用於發錯檔案需抽回時)

nuget delete MyNugetPackage 3.0.0 {apiKey} -Source https://my-nuget-server.com/nuget

https://my-nuget-server.com/nuget'. Would you like to continue? (是/否) 是
警告: Deleting MyNugetPackage 3.0.0 from the 'https://my-nuget-server.com/nuget'.
請提供以下項目的認證: https://my-nuget-server.com/nuget
使用者名稱: user_name
密碼: ********



  • 將 nuget server 加入 nuget source 清單內

nuget sources add -name MyNugetSource  -Source https://my-nuget-server.com/nuget

具有名稱的封裝來源: MyNugetSource 已成功新增。



沒有留言:

張貼留言