这篇应该是这个系列的最后一篇了
配置生成代理
配置dotnet cli环境
这步,需要在生成代理的机器上配置cli环境,与本地配置方法一致,可以自行Google
下载及参考地址:
https://www.microsoft.com/net/core#windows
配置环境变量
在生成代理的机器上
- 右键 此电脑 (我的电脑)
- 点 属性
- 点击 高级系统设置
- 点击 环境变量 按钮
- 新建 一个新的环境变量 名称为:ASP.NET_Core;值为:RC2;如图
- 重启生成代理
确认是否设置成功
- 登录TFS
- 点击 管理项目 (即 右上方的齿轮)
- 点击 DefaultCollection (或者你的其他团队项目名)
- 点击 代理队列
- 看到 代理 -> 功能中 有刚才设置的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什么的这些没改,可以参考其他文章进行配置