分析及思路
來看一下項目目錄結構
炒雞正常的三板斧src+docs+tests。咦,怎么會多出一個build的文件夾呢,這就是我們今天要研究的目錄。今天我會帶着大家在五分鍾之內編寫一個極簡的編譯腳本。
思路很明顯了:獲取當前腳本所在目錄=>獲取上一級目錄=>回到上一級(.sln所在目錄)=>執行dotnet publish –c release
第一分鍾:了解基本的變量
1.$psscriptroot:當前腳本文件所在目錄,從Powershell3.0開始,有一個新的自動變量叫$PSScriptRoot,這個變量以前只存在模塊里,它能指向當前文件夾中的腳本的位置(准確的說在你運行腳本的時候它才有用)
2.變量定義:$代表var,$workspace={$workspace} 定義一個變量
第二分鍾:路徑變換的基本操作
1.split-path –parent {$path}
2.join-path {$path1} {$path2}
3.cd {$path}進入某目錄
第三分鍾:編寫腳本
1.獲取當前腳本所在目錄,為方便查看,有些變量我們可以向控制台輸出一下:
echo $psscriptroot
2.獲取上一級目錄,我們可以定義它為我們的工作目錄:
$workspace=split-path –parent $psscriptroot
3.回到上一級(.sln所在目錄)
cd $workspace
4.執行dotnet publish –c release
dotnet publish –c release
最終腳本如下:
echo $psscriptroot
$workspace=split-path -parent $psscriptroot
echo $workspace
cd $workspace
echo "releasing project..."
dotnet publish -c release
最后
powershell 作為一種腳本語言,他可能比多數腳本語言都要強大。作為windows的日常使用者,了解並使用它,一定會讓我們日常的工作事半功倍!
最后貼出 自動打包類庫並發布到nuget.org的例子給大家參考一下: