升级.Net Core RC2的那些事(四)——TFS2015的CI集成

这篇应该是这个系列的最后一篇了

配置生成代理

配置dotnet cli环境

这步,需要在生成代理的机器上配置cli环境,与本地配置方法一致,可以自行Google

下载及参考地址:

https://www.microsoft.com/net/core#windows

配置环境变量

在生成代理的机器上

  1. 右键 此电脑 (我的电脑)
  2. 点 属性
  3. 点击 高级系统设置
  4. 点击 环境变量 按钮
  5. 新建 一个新的环境变量 名称为:ASP.NET_Core;值为:RC2;如图
  6. 重启生成代理

确认是否设置成功

  1. 登录TFS
  2. 点击 管理项目 (即 右上方的齿轮)
  3. 点击 DefaultCollection (或者你的其他团队项目名)
  4. 点击 代理队列
  5. 看到 代理 -> 功能中 有刚才设置的RC2,就算成功了,如图

此步,主要是对安装配置过RC2的代理进行区分,让TFS进行CI时能选择到有RC2环境的机器

生成定义

这里我们新建一条生成定义,用 空模板 就好

生成步骤

首先,我们需要通过cli把包还原出来

点击 添加生成步骤,实用工具 -> 命令行

设置项中

工具填:dotnet

参数填:restore

其实相当于命令 dotnet restore

接着,我们需要把nuget的包打包,由于涉及几个项目,我这里使用的是PowerShell

点击 添加生成步骤,实用工具 -> PowerShell

脚本文件名为:RunPack.ps1

内容为:

dotnet pack LSW.Weixin\src\LSW.Weixin -c release
dotnet pack LSW.Weixin\src\LSW.Weixin.MP -c release
dotnet pack LSW.Weixin\src\LSW.Weixin.MP.MvcExtension -c release
dotnet pack LSW.Weixin\src\LSW.Weixin.QY -c release

PS:LSW.Weixin\src\LSW.Weixin 这些是我的项目的存储库相对路径,project.json的对应文件夹,可参照修改。我这里完全是把PowerShell当批处理用了,如果有这方面路过的PowerShell大神看到,有好的建议,还请赐教

然后,需要对ASP.Net Core的项目进行发布,同样

点击 添加生成步骤,实用工具 -> PowerShell

脚本文件名为:RunPublish.ps1

内容为:

dotnet publish 微信企业号\src\分销系统 -r win8-x64 -c release
dotnet publish 微信企业号\src\微信企业号 -c release

同样需要修改对应的路径

这里还需要注意的是,由于项目名存在中文,这里的PowerShell脚本需要用 GBK 编码保存,用 UTF-8 编码的话会乱码报错

最后是添加 复制并发布生成项目 的生成步骤

这个和原来一样就不说了

PS:以上的步骤我没有使用 dotnet build 是因为 dotnet pack 和 dotnet publish 都会执行一次build操作,就没必要加这一步了

存储库设置

选自己对应项目的 Git 分支

常规设置

在常规设置选项卡中,增加一个RC2的需求条件,如图

其他选项

根据自己的喜好设置吧

测试生成定义

设置完成后点击 保存

然后点击 为生成排队 就可以测试一下生成定义了

其他补充

TFS的cli会把一些编译警告,当成错误,导致CI无法顺利通过

这里有两种处理办法

1、按标准修改代码,让警告不出现
2、修改project.json,忽略掉相应的警告,具体位置在 buildOptions 配置节 nowarn 下
	"buildOptions": {
		"emitEntryPoint": true,
		"preserveCompilationContext": true,
		"nowarn": [ "CS0168", "CS0169", "CS1998" ]
	},
CI完成后的自动发布Azure、FTP什么的这些没改,可以参考其他文章进行配置
不允许评论