天天看點

Nuget多項目批量打包上傳伺服器的簡明教程

本篇不會介紹Nuget是什麼,如何打包上傳Nuget包,怎麼搭建私有Nuget伺服器。這些問題園子裡都有相應的文章分享,這裡不做過多闡述。另外本文假設你已經下載下傳了Nuget.exe,并且已經設定好了環境變量。什麼?你還不會?那你先去百度下設定好後再來看這篇文章吧。nuget下載下傳

實際項目中,我們可能一個解決方案下面會有N多個項目,每次釋出這N多個項目都會使用統一的版本号一起釋出到Nuget伺服器。搜尋了很久沒找到一個好的方式,好在參考了abp vnext的打包方法實作了這個需求。是以分享下,希望對有需要的人有所幫助。

作者:依樂祝

原文位址:https://www.cnblogs.com/yilezhu/p/12591174.html

首先看下圖,每個腳本的作用我進行了注釋,稍後我們再做進一步的詳細闡述。在具體批量釋出的時候,隻需要先執行下

pack.ps1

腳本,然後再執行下

push_packages.ps1

腳本即可。當然還有一些參數需要根據你的項目來進行修改的。不過你不用擔心,隻需要按照下面步驟進行即可。

Nuget多項目批量打包上傳伺服器的簡明教程

第一步,在

common.ps1

中配置我們的解決方案以及項目路徑

我們把

$solutions

這個變量中的内容替換成我們的解決方案的相對路徑。比如:解決方案在

E:\abp\abp\framework

這個路徑,我們的腳本檔案在

E:\abp\abp\nupkg

這個路徑,那麼我們就可以配置

framework

這個值就可以了。

Nuget多項目批量打包上傳伺服器的簡明教程

第二步,

pack.ps1

這個腳本基本不需要修改,這裡隻是進行下代碼的解釋

  1. 這裡首先引入第一步的

    common.ps1

    腳本檔案(因為需要用到上面定義的變量)
  2. 循環周遊

    $solutions

    變量,找到所有的解決方案,并執行

    dotnet restore

  3. 這裡才是打包的核心代碼,周遊

    $projects

    并執行打包過程,然後把生成的

    nupkg

    檔案拷貝到腳本所在的目錄。
Nuget多項目批量打包上傳伺服器的簡明教程

第三步,

push_packages.ps1

腳本檔案打包上傳到伺服器

  1. common.ps1

  2. 從根目錄下擷取

    common.props

    檔案中擷取對應的版本号,并推送對應版本号的

    nupkg

    到伺服器
    注意:

    common.props

    檔案需要你自行添加,這裡面可以定義csproject檔案所需要的一些變量
  3. 循環

    common.ps1

    腳本中的

    $projects

    ,并執行推送過程。
  4. 最後修改 下你自己的

    --api-key

    (Nuget管理的密鑰)以及

    -s

    (包源,如果你是自己搭建的私有nuget伺服器,則這裡需要替換成私有nuget伺服器位址)
Nuget多項目批量打包上傳伺服器的簡明教程

第四步,執行上傳操作

  1. 進入到你的上面三個腳本的目錄,

    Shift

    +滑鼠右鍵,選擇在此處打開

    powershell

    打開powershell指令視窗
  2. 依次執行下

    .\pack.ps1

    push_packages.ps1

    腳本即可。
  3. 這裡你在執行

    powershell腳本

    的時候可能會報如下的錯誤
    Nuget多項目批量打包上傳伺服器的簡明教程
    這是由于作業系統預設禁止執行腳本,需要以管理者身份執行一次

    set-executionpolicy remotesigned

    然後輸入

    y

    回車即可順利執行。

    Set-ExecutionPolicy

    可更改 Windows PowerShell 執行政策的使用者首選項。要在 Windows Vista、Windows Server 2008 和 Windows

    的更高版本上運作此指令,必須使用"以管理者身份運作"選項啟動 Windows PowerShell,

總結

本文參照abp vnext批量打包解決方案下面所有項目檔案并上傳到nuget伺服器的方法實作了一個簡單的Nuget多項目批量打包上傳伺服器的方法,希望對有需要的朋友有所幫助,當然,如果你有更好的方式也可以給我留言。感謝閱讀。

下載下傳位址

點這裡下載下傳:https://files.cnblogs.com/files/yilezhu/nupkg.zip

作者:依樂祝(祝雷)

出處:https://www.cnblogs.com/yilezhu

聯系:[email protected] .NET Core實戰項目交流群:637326624 微信:jkingzhu

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。如有問題或建議,請多多賜教,非常感謝。

Nuget多項目批量打包上傳伺服器的簡明教程