如题:本文将介绍如何在 Windows 环境下运用 Jenkins 部署持续集成环境.之所以写本文,是因为在最近工作当中,学习使用 Jenkins 时,确实遇到了一些问题,而大多数教程文档都是基于 Mac 或是 Linux 平台.为此很是头疼,经过一番摸索,终于走通了 Windows 平台下的一条路.
本 CI 系统流程:Dev 提交代码,并 merge 到 master 分支 -->Jenkns 获取最新代码,开始构建(解析 git 触发响应,build solution,run automation,get result 都在此步内完成)--> 构建完成发送邮件.
首先,下载安装 Jenkins:https://jenkins.io/
安装完成之后可以通过访问 http://hostname:8080 进入管理页面.选择: Manage Jenkins".
在右侧列表中选中 "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 的右键属性中查看.
创建好了 node,我们就和某一台 server 连接上了,接下来我们需要去创建 job,去完成我们需要做的工作.
回到 Jenkins 主页面,点击 "New Item",这里我选择使用 "Freestyle Project".编辑好项目名称,描述之后,我们可以定义清楚过时的 build.这里我定义为保留 7 天以内的 build,并规定最多只保留 10 个 build.
前面介绍过,本 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 系统就建立起来了.
来源: https://www.cnblogs.com/babygirl/p/jenkins_ci_windows.html