TFS CI CD(纪录)

在程式技术百家争鸣的这个时代,感觉好像学习永远都跟不上时代。
但不管怎么变,我相信对于程式的建置部署,相对的变化性就不是这么大了,
这边想纪录一下于公司内,我是如何透过 TFS 建立基本的CI CD。

因为公司政策的关係,我们是採用地端的TFS2017配合地端的VM,
虽然我是非常的想用VSTS,并搭配Azure,这样就不用在面对升级不升级的问题了。
anyway我不是老闆

因为我是地端的关係,可能跟vsts的画面就不尽相同了。
以下纪录用,可能不尽详细。


首先在专案(sln)签入到TFS后,基本上只要新增一个CI,并保持预设,基本就可以算是完成九成了。
但如大家所预料,意外就是会接连而至的发生(compiler),况且保持预设当然不是最佳解,即使你成功的编译。

compiler error log,靠自已或Google解决。专案(sln)来源路径设定web.config的配置编译的时机点其他特别配置

基本上微软官网就很清楚了,但实际还是要摸过才算数。
再来是CD的部份,这部份整整是花了我快一个礼拜才打通任都二脉(能力太差),大概纪录一下细节的部份。

在乾净VM上的IIS安装Webservice management(1)、WebDeploy(2)两个套件,顺序照1、2开通防火墙8172(default),或是在webservice manager设定你想要的port建立WebSite并将service account加到该website的user permission

以上做完算是打通Server这一关,在来就是TFS设定(也是吃了苦,太弱了)。

如果source都是同一份,可建立一个或多个Environment并用server命名

选用command line的task来下command

如CI成功,可能有一或多个Web Package,可选择要publish的 .cmd

下参数,适用于我(光是这一行就搞死我这菜鸟)
/Y /M:$(TestServer) /U:$(ServiceAccount) /P:$(ServicePassword) /A:Basic -allowuntrusted "-skip:Directory=\angular" "-setParam:name='IIS Web Application Name',value='$(WebSiteName)'"

参数内部可能不尽相同,可以详阅微软的文件以符合自已的需要

$(***)是参数化你的变数值,可于微软的程式库(library)中定义

以上大致上可以完成基本的自动化建置部署,
当然还有很多细节难以用三言两语就能表达,
希望会帮到一些人,希望有机会能用云端来玩玩。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章