关于脚本PowerShell的设计实例


本文摘自PHP中文网,作者零下一度,侵删。

这几天对PS情有独忠,被它的强大功能所希引,它可以快速部署,快速发布,将一些连带的动作一次的完成,挺方便,类似于早期的bat文件,也像linux平台的bash脚本,但功能上,比前两者都要强很多,下面我们看一下将某个解决方案下的所有项目一次publish的过程,我们使用ps脚本来实现的。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

# 作者:仓储大叔

# 功能:发布项目到指定的地方

Param([string] $rootPath)

$scriptPath = Split-Path $script:MyInvocation.MyCommand.Path

 

Write-Host "Current script directory is $scriptPath" -ForegroundColor Yellowif ([string]::IsNullOrEmpty($rootPath)) {

    $rootPath = "$scriptPath\.."}

Write-Host "Root path used is $rootPath" -ForegroundColor Yellow

 

$projectPaths =

    @{Path="$rootPath\src\LindCore.Manager";Prj="LindCore.Manager.csproj";Name="web"},

    @{Path="$rootPath\src\LindCore.Test";Prj="LindCore.Test.csproj";Name="console"}

  

$projectPaths | foreach {

    $projectPath = $_.Path

    $projectFile = $_.Prj

    $name=$_.Name

    # $outPath = $_.Path + "\obj\publish"$outPath = "d:\publish\"+$name$projectPathAndFile = "$projectPath\$projectFile"Write-Host "Deleting old publish files in $outPath" -ForegroundColor Yellow

    remove-item -path $outPath -Force -Recurse -ErrorAction SilentlyContinue

    Write-Host "Publishing $projectPath to $outPath" -ForegroundColor Yellow

    dotnet restore $projectPathAndFile

    dotnet build $projectPath

    dotnet publish $projectPath -o $outPath

}

注意:如果你只是把跨平台项目发到obj\publish文件夹的话,那wwwroot这些文件夹不会生成,而如果发到其它磁盘,将会生成这些静态的文件,这点要注意!

阅读剩余部分

相关阅读 >>

visual studio 2017发布失败,卡在“正在准备配置文件……”解决方法

关于脚本PowerShell的设计实例

asp.net core 应用程序发布命令实例

如何在不使用 webmatrix 的情况下发布 web pages?

更多相关阅读请进入《PowerShell》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...