分析及思路
来看一下项目目录结构
炒鸡正常的三板斧src+docs+tests。咦,怎么会多出一个build的文件夹呢,这就是我们今天要研究的目录。今天我会带着大家在五分钟之内编写一个极简的编译脚本。
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的例子给大家参考一下: