Jira自动化实践:基于Jenkins实现需求与代码基线关联

网友投稿 736 2023-03-28

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Jira自动化实践:基于Jenkins实现需求与代码基线关联

一. Jira简介

1.1 Jira可以做什么?

规划

创建项目,用户需求和事务、规划 Sprint 并跨团队分配开发任务。

跟踪

全面了解项目进度情况,安排整个团队工作的优先级排序并进行讨论。

二. 安装部署

2.1 数据中心版本

选择历史版本下载:

下载最新的LTS 长期支持版本:

选择部署的环境:

开始下载Jira Software Server安装程序:

2.2 安装部署

2.3 初始化配置

获取授权码:

注册账号登录:生成授权码,激活实例;

三. Jira使用实践

3.1 创建一个项目

注意:一个Jira 项目对应一个GitLab项目组;

3.2 为项目添加模块

注意:一个Jira模块对应一个GitLab项目;

3.3 配置WebHook系统, 网络钩子(webhook)

3.4 需求/任务管理

创建需求

这里在Jira上面把这个需求logging-error, 类型为故事 关联到devops03-devops-service模块;

3.5 发布Release

课程中把 发布对应为GitLab项目代码库中的版本分支;

issue关联发布:可以想象成GitLab特性分支合并到版本分支;

四. Jira自动化实践

工作流

工具链集成

4.1 需求与代码关联

1. 创建Jenkins作业并配置webhook

webhookData:这个变量存放的是Jira 传递的数据。

2. 为Jira配置一个系统级别的webhook

选项解释:

指定Jenkins的webhook触发器地址;通过JQL指定,允许devops03这个项目进行触发;勾选动作,触发事件;(我在jira做了什么操作之后能够触发)

3. Jenkins流水线配置

解析Jira传递过来的数据;

封装GitLab API接口

Pipeline主程序

pipeline {     agent { label "build" }      stages{         stage("Process"){             steps{                 script{                     println(gitlabProjects)                     println(gitlabBranchName)                     projectIds = GetProjectsId(gitlabGroupName, gitlabProjects)                     switch(jiraEvent) {                         case "jira:issue_created":                             println(projectIds)                             for (id in projectIds){                                 CreateBranch(id, gitlabBranchName, "master")                             }                             break                         default:                             println("error...")                             break                     }                 }             }         }     } }

4. 效果验证

在Jira里面创建一个模块和issue, 关联项目;

Jenkins 流水线运行;

验证Gitlab中多了分支;

上一篇:告警监控实例分析图片素材(监控警示)
下一篇:泰然神州发布ZendeepII运维审计系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~