Windows系统的Jenkins持续集成环境
如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境。之因此写本文,是由于在最近工做当中,学习使用Jenkins时,确实遇到了一些问题,而大多数教程文档都是基于Mac或是Linux平台。为此非常头疼,通过一番摸索,终于走通了Windows平台下的一条路。html
本CI系统流程:Dev提交代码,并merge到master分支-->Jenkns获取最新代码,开始构建(解析git触发响应,build solution,run automation,get result都在此步内完成)-->构建完成发送邮件。node
首先,下载安装Jenkins:https://jenkins.io/git
安装完成以后能够经过访问 http://hostname:8080 进入管理页面。选择:Manage Jenkins"。windows
在右侧列表中选中"Configure Global Secuity",选中"Allow user to sign up",而后就能够提早注册好要赋权限的帐户。若之后不容许新管理帐户的注册,在取消此选中项。服务器
接下来,在代理项下,展开代理协议,并所有选中。此处选中以后,会启用"Java Web Start Agent",不然其在建立slave时处于不可见状态。(使用此代理,还需提早安装Java,到Java官网下载一个安装便可)学习
再回到"Manage Jenkins"界面,选择"Manage Node",点击"New Node"建立一个新的slave,这里咱们选择"Permanent Agent",也能够选择从已有的slave复制出新的节点。填写名称,远程根目录和标签,启动方法选择如图。这里的远程目录用于存储Jenkins客户端运行文件。其余设置默认值就能够了:网站
好了,到这里一个node就建立好了。咱们能够回到Node管理界面,此时新建的node是未链接状态,能够在你的另一台server,或本机上访问你的Jenkins页面,并点击"Launch"链接node,并将之安装为本地service。若是你是Win10系统,会出现安装错误,这时别急,先将你的IE或这Edge以管理员的方式从新启动,再次访问Jenkins尝试链接和安装。当你以为要启用这个安装的service时,先中止服务,而后再cmd命令窗口输入“sc delete servicename"就能够删除此服务了。servicename能够再service的右键属性中查看。ui
建立好了node,咱们就和某一台server链接上了,接下来咱们须要去建立job,去完成咱们须要作的工做。url
回到Jenkins主页面,点击"New Item",这里我选择使用"Freestyle Project"。编辑好项目名称,描述以后,咱们能够定义清楚过期的build。这里我定义为保留7天之内的build,并规定最多只保留10个build。spa
前面介绍过,本CI系统响应git返回的触发条件,所以须要设置一个参数接收返回的响应,并在此设置在哪一个node上执行这次构建任务,即填写建立node时设置的Label:
除了在建立node时的默认设置,咱们也能够在此处设置自定义的workspace,获取的代码将存储在此处:
在源代码管理项中,咱们选用Git,设置好相应的git项目url和访问的用户名和密码,分支选默认的master:
获取了代码以后,选择触发方式,若是时定时轮询的方式,选择"Poll SCM",设置间隔时间便可。须要每次提交都响应,这里我选择远程触发"Trigger builds remotely",设置一个token值待用。
这时,咱们须要到Git网站代码管理设置页面,添加一个"Hooks & services",并启用"Pull request"。Payload URL的格式按照上面设置的token下提示的格式设置:
完成以上步骤以后,Job的运行环境基本上就已经设置成功了,接下来就是构建自动化运行脚本了。
回到刚才的Job编辑页面,继续往下走,点击"Add build step",在下拉框中能够看到,Jenkins支持的脚本语言十分丰富。这里咱们会用到Window batch和Widows PowerShell。在这里写入你的业务处理脚本,保存一下。好比输出"Jenkins CI",在Windows batch框中输入"echo Jenkins CI",保存,就能够了。
最后,须要在脚本完成以后自动发送邮件。来看看是如何配置的:
配置邮件通知以前,咱们须要到"Configure System"中设置一下邮件系统的基本配置。
首先,填写好Jenkins访问地址和发件人邮箱地址。
接下来,设置SMTP邮件服务器和一些默认值,包括接收对象,主题,内容等等。如此,最简单的邮件发送配置就完成了。后面来设置具体的邮件通知。
仍是回到Job编辑页面,找到"Post-build Actions"并选择"Editable Email Notification"。设置实际的接收人,内容格式和默认主题。并设置默认内容,能够配合环境变量(此处不作详解)参数化、格式化内容文体。
须要发送附件的,还能够对附件的路径、名称进行设置。最后设置好邮件发送触发条件就OK了。
这样,一个完整的Windows平台下的CI系统就创建起来了。