Newbe.Build.Psake 编写自动化构建脚本


编写脚本可以将很多繁琐重复的工作进行简化。本篇将介绍一种基于 powershell 的脚本框架。基于该框架,开发者可以方便的编写和维护自己的自动化脚本。

抄起脚本一把梭

对项目进行持续集成和持续发布是现在项目开发中非常基础的要求。现在可选的自动化构建引擎很多。Jenkins、Gitlab、TFS、TeamCity等都是很好的选择。很多项目都基于这些自动化构建引擎实现了项目的持续集成和持续发布。

一般,自动化引擎都提供了简单的构建步骤,开发者可以直接使用内置的步骤,便可以实现自动化需求。不过,为了更强的自定义需求,开发者往往需要自己编写一些脚本,然后使用自动化引擎进行构建。例如:发送钉钉通知,这样的需求,自动化引擎没有提供专门的插件实现这些需求。

自动化引擎一般都提供了“直接执行脚本”的步骤。直接使用这样的步骤,开发者可以直接填入脚本实现需求。但是,本文将介绍一种更为合理的方案来解决这样的需求。

Powershell

Powershell 是微软提供的一种脚本语言。在最新的 Powershell 6 中,由于基于 Netcore 2.0 作为运行时,Powershell 6 具备了跨平台运行的特性。因此,使用这种脚本语言编写的脚本可以在不同的操作系统平台上运行。

Psake

Psake 是一个基于 Powershell 的脚本语言框架。通过这种框架,可以结构化的管理自己的脚本。使得自己的脚本更加易读,便于管理。

以下便是采用 Psake 框架编写的构建脚本,这段脚本展示了编译一个解决方案的基础过程。

properties {
    # 定义一个变量,指向当前文件夹所在的位置
    $rootNow = Resolve-Path .
}

# 默认任务。调用该脚本时,如果没有指定执行的任务,那么将会执行这个任务
# 通过 -depends 指定该任务所依赖的上级任务
Task Default -depends Build

# 调用 dotnet 来执行 nuget 还原的操作。
Task Nuget -Description "nuget restore" {
    Exec {
        dotnet restore
    }
}

# 调用 dotnet 执行编译操作。
Task Build -depends Nuget -Description "build sln" {
    Exec {
        dotnet build -c "Release"
    }
}

TODO 还没写完


文章作者: newbe36524
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 newbe36524 !
评论
 上一篇
我的网站被十年前的套路给黑了 我的网站被十年前的套路给黑了
某天,网站被黑。出现了不和谐的内容。查了一下,其实这个套路十年前就有了。基础环境Windows Server 2012R2,不知道什么时候装的,从未打过补丁。IIS 除了 FTP 和 IIS6 兼容,其他全勾。Asp.net MVC 5 。
2019-07-11 newbe36524
下一篇 
Newbe.Mahua CQP 紧急故障修复 Newbe.Mahua CQP 紧急故障修复
此次版本发布主要围绕”CQP紧急故障修复”。版本亮点CQP 紧急故障修复由于 CQP 进行了命名规则改换,导致 SDK 全部失效,因此特别紧急修复发布版本。此次修复版本包括最新的 1.X 、 2.X 和 LTS 版本。更新后的版本号如下所示
2019-05-05 newbe36524
  目录