.NetCore+TFS2017 CI/CD 持续集成持续交付系列【三.持续发布-Cd篇】
一、创建发布
【生成和发布】---点击加号新增---【选择从空定义开始】
项目选择你要发布的项目所属项目,源就是上一篇生成的定义,连续部署勾选的话,只要你上一篇配置的生成编译成功跑完了,就会触发这个发布
二、配置发布
这里的配置,就是将上一篇CI里publish Artifact出来的Drop目录,拷贝到你的目标站点目录,主要是【用Windows计算机文件复制】这个任务
1.【用Windows计算机文件复制】: 源,选择的就是CI篇生成发布的Drop目录;计算机,填的就是要发布的目标计算机ip;目标文件夹,就是你要发布的目标服务器文件夹(IIS文件夹)
提示:推荐用FTP上传方式,这个需要安装一个插件。在插件商店里 FTP UPLOADER。
重点提示:远程copy会有权限问题,需要把目标文件夹设置为共享,并且复制登录账号权限
2. 拷贝任务前后,共有4个远程powershell命令,前2个后2个,都是执行远程poweshell命令的,我这里执行的命令是,拷贝前,先停掉IIS的站点跟应用池,拷贝完再开启
【计算机】:IP+端口,如果协议选的是Http,端口为5985,如果是https,端口就是5986,这里调的命令是C:\Windows\System32\inetsrv\appcmd.exe
命令参考:停止站点 stop site 站点名,停止应用程序池 stop apppool /apppool.name:程序池名称 ,启动就是stop 改成start就可以了
提醒:由于远程命令poweshell是基于Windows Remote Management service,所以要确保服务开启,如果命令执行失败,请看此篇文章配置:https://www.cnblogs.com/sparkdev/p/7200004.html
结语:到此为止,整个配置过程基本就结束了,生成跟发布中还有一些触发器,定时器可以自己配置,具体就不再赘述了,可以自己点点深入了解下。只要配置好,代码一签入,生成模块就自动还原、自动编译,
接着会触发发布模块,将发布文件拷贝到目标站点,整个CICD流程基本就这样。
生成步骤其实还可以用webdeploy方式生成部署包,然后通过webdeploy生成的cmd执行发布,不过我在服务器执行的时候踩了个坑,一直没解决,就暂时不写进来了。
TFS提供的很多任务模块都可以自由搭配,自由组建自己的CICD流程,就是感觉执行windows的远程命令各种权限有点烦,没有linux那么简单。