前几天把Jira、Confluence、Fisheye集成环境搭建好了,今天进一步把Jenkins和Jira做了一个集成,目的就是通过Jira通知Jenkins任务已经完成,可以发布了。然后Jenkins获取通知后自动抓取Jira任务单关联的代码清单,完成增量发布。在集成过程中确实有一些关键点有必要记录下来,分享给大家。 1、首先是Jira任务单和代码的关联 这一部分是通过Jira和Fisheye的集成实现的,这样在Jira的任务单里就可以看到源码的标签页,列出了这个Jira单关联的代码清单。那么这个任务单和代码清单是怎么关联的呢?这就要求我们在上传代码到SVN的时候,在备注里填写上Jira的单号,这样就通过Fisheye让任务单和代码清单建立的关联。 2、Jira任务改变要通知到Jenkins 这个功能是通过Jira的网络钩子功能和Jenkins中的Jira插件实现的,具体配置如下: ①Jenkins中安装JIRA Trigger Plugin插件,然后配置Jira的地址和登录信息 ②Jira中创建网络钩子,其中url是:http://你的Jenkins地址/jira-trigger-webhook-receiver/ ③这样当Jira中任务发生变化后,就会通过网络钩子通知到Jenkins
3、Jenkins中配置触发构建的条件 安装好JIRA Trigger Plugin插件后,在触发构建选项中就能看到两个新的触发条件:
通过在JIRA任务单中添加备注或者通过检测JIRA任务单的状态变化,来触发Jenkins构建,这里我以第一个为例子进行了配置: 这里的JIRA_ISSUE_KEY变量,可以在后面的构建shell中使用,通过该变量获取到Jira的key。 4、编写shell,根据Jira的Key或者Jira任务状态获取到代码清单列表 这一步我是通过Java代码调用Jira和Fisheye提供的API实现的,API文档如下: 然后在shell中获取到Java代码查询到代码清单,进行更新发布。大家可以自行参考这个文档,使用合适的rest API实现。 5、最后看一下效果 在Jira任务单中添加备注:请发布,很快就会收到Jenkins反馈的备注信息,提示已经安排发布 再看看Jenkins中的发布日志,可以看到确实获取到改该任务单的代码清单
|
|
来自: 昵称47333026 > 《敏捷开发文档》