實際專案中,我們可能乙個解決方案下面會有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.ps1
,push_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...