[Cake] 1. CI中的Cake

  • 时间:
  • 浏览:0
  • 来源:彩神欢乐生肖_神彩欢乐生肖官方

Travis提供有linux的ci环境,同样的让让我们都 加在另另三个小 多 .travis.yml 文件但会 关联Travis的服务即可。

Cake脚本某种生活的跨平台(windows,linux,docker等)是借能助 后边提到的cake.exe或cake.coreclr来实现的。基于你这些 ,让让我们都 都不能有如下的组合:

cake.0.26.1.nupkg解压后如下:

cake.coreclr.0.26.1.nupkg解压后如下:

故而目前在window平台下选择1,在但会 平台下选择3比较合适,在docker下都不能构建另另三个小 多mone+dotnet的混合环境的image(https://hub.docker.com/r/lnhcode/dotnet2-mono5/)。

在windows下都不能直接通过console窗口来运行它:

捷报是目前.net core的每日构建版将会加在了 dotnet install  和 dotnet install tool 的命令(https://github.com/dotnet/cli/blob/master/src/dotnet/commands/dotnet-install/InstallCommandParser.cs),都不能直接用来安装nuget包。你这些 新功能会随着.net core 2.1的正式发布而到来。到前一天就都不能统一借助dotnet cli来安装cake.coreclr了。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意需用保留此段声明,且在文章页面明显位置给出原文连接,但会 保留追究法律责任的权利。

后边的你这些 示例调用了build.ps1来运行测试https://ci.appveyor.com/project/linianhui/cake-example。

Circle提供有docker的环境,同样的加在另另三个小 多 .circleci/config.yml 文件但会 关联Circle的服务即可。

dotnet2-mono5 的dockerfile:https://github.com/linianhui/dockerfiles/blob/master/dotnet2-mono5/Dockerfile

让让我们都 直接下载这另另三个小 多nuget包,但会 用7z解压一下(nupkg文件为zip):

AppVeyor主要提供有windows的ci环境,让让我们都 只需用再github的项目根目录加在 appveyor.yml 文件,但会 关联一下AppVeyor的服务即可。

借助Github提供的统统免费的CI服务,我在https://github.com/linianhui/cake.example上接入了十个 CI服务。

Cake目前有另另三个小 多版本(参见Cake Releases):

以上简单的介绍了一下Cake的简介信息,和怎样才能再不同的CI环境中使用Cake来维护另另三个小 多相同的自动化构建的流程。如有错误,欢迎指正!

Cake的每另另三个小 多Task都都不能加在一项描述,用来解释它的用途。比如下面的示例:

将会目前dotnet cli某种生活的不健全,缺少独立于*.csproj文件之外来安装nuget包的命令,故而使得安装cake.coreclr变得非常恶心。参见某种生活变通办法:

后边的你这些 示例的运行环境是linux,安装了mone和dotnet,但会 调用了build.sh来运行测试https://travis-ci.org/linianhui/cake.example。

本文示例代码:https://github.com/linianhui/cake.example

都不能通过dotnet cake.dll来运行它:

何必 再CI/CD中编程:https://www.thoughtworks.com/radar/techniques/programming-in-your-ci-cd-tool

但会 Cake接收另另三个小 多名为 ShowsDescription 的参数,运行Powershell将会bash的前一天都不能传递-ShowDescription来显示Task的信息。为了方便输入,我把ShowDescription改成了Help(仅更改了build.ps1中传递参数的名称)。

后边的示例中我使用了当事人定义的另另三个小 多dotnet2-mono2的docker镜像,但会 调用builds.sh来运行测试https://circleci.com/gh/linianhui/cake.example/tree/master。dotnet2-mono5的镜像位于:https://hub.docker.com/r/lnhcode/dotnet2-mono5/

cake的目的在于一次编写,都不能运行在不同的构建环境和构建工具中。一同都不能把构建脚本纳入到源代码管理中,而都有编写在某一特定的ci/cd工具中。正如这篇文章https://www.thoughtworks.com/radar/techniques/programming-in-your-ci-cd-tool中的观点一样。

在上一篇C#Make自动化构建-简介中,简单的介绍了下Cake的脚本怎样才能编写以及通过Powershell在本地运行Cake脚本。本篇在此基础上,介绍下怎样才能在CI环境中使用Cake。