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

2022-01-12 20:18:55 字數 2046 閱讀 4425

實際專案中,我們可能乙個解決方案下面會有n多個專案,每次發布這n多個專案都會使用統一的版本號一起發布到nuget伺服器。搜尋了很久沒找到乙個好的方式,好在參考了abp vnext的打包方法實現了這個需求。因此分享下,希望對有需要的人有所幫助。

首先看下圖,每個指令碼的作用我進行了注釋,稍後我們再做進一步的詳細闡述。在具體批量發布的時候,只需要先執行下pack.ps1指令碼,然後再執行下push_packages.ps1指令碼即可。當然還有一些引數需要根據你的專案來進行修改的。不過你不用擔心,只需要按照下面步驟進行即可。

我們把$solutions這個變數中的內容替換成我們的解決方案的相對路徑。比如:解決方案在e:\abp\abp\framework這個路徑,我們的指令碼檔案在e:\abp\abp\nupkg這個路徑,那麼我們就可以配置framework這個值就可以了。

這裡首先引入第一步的common.ps1指令碼檔案(因為需要用到上面定義的變數)

迴圈遍歷$solutions變數,找到所有的解決方案,並執行dotnet restore

這裡才是打包的核心**,遍歷$projects並執行打包過程,然後把生成的nupkg檔案拷貝到指令碼所在的目錄。

這裡首先引入第一步的common.ps1指令碼檔案(因為需要用到上面定義的變數)

從根目錄下獲取common.props檔案中獲取對應的版本號,並推送對應版本號的nupkg到伺服器

注意:common.props檔案需要你自行新增,這裡面可以定義csproject檔案所需要的一些變數

迴圈common.ps1指令碼中的$projects,並執行推送過程。

最後修改 下你自己的--api-key(nuget管理的金鑰)以及-s(包源,如果你是自己搭建的私有nuget伺服器,則這裡需要替換成私有nuget伺服器位址)

進入到你的上面三個指令碼的目錄,shift+滑鼠右鍵,選擇在此處開啟powershell開啟powershell命令視窗

依次執行下.\pack.ps1push_packages.ps1指令碼即可。

這裡你在執行powershell指令碼的時候可能會報如下的錯誤

這是由於作業系統預設禁止執行指令碼,需要以管理員身份執行一次set-executionpolicy remotesigned然後輸入y回車即可順利執行。

set-executionpolicy可更改 windows powershell 執行策略的使用者首選項。要在 windows vista、windows server 2008 和 windows

的更高版本上執行此命令,必須使用"以管理員身份執行"選項啟動 windows powershell,

idea開發web專案打包上傳到伺服器

一 首先注意tomcat的一些設定 上圖的意思是把war包輸出到 rongke web 模組下,此模組下應是有controller提供介面供外部訪問的。上圖表示可以通過1新增2處的設定,3處可根據專案需要可填可不填。有時候啟動tomcat之後去相應模組下發現沒有war包存在,可以ctrl alt s...

vue專案打包上伺服器顯示404錯誤,本地沒出錯

1 使用腳手架搭建乙個vue專案 2 執行,在本地執行沒問題,接著打包上伺服器,遇到404的錯誤,如下 這是webpack打包的結果,解決辦法如下 1 修改build資料夾下的utils.js檔案,大約在51行新增 publicpath if options.extract else 2 修改con...

vue專案打包放到伺服器

接之前已經將後端 放到伺服器 1 進入config資料夾下面的index.js檔案,將dev和build物件裡面的assetspublicpath屬性值都進行更改。由assetspublicpath 改為 assetspublicpath 接著,所有的請求介面去掉http localhost 300...