告警通知变得轻松便捷——微信告警接口指南
736
2023-03-28
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中多了分支;
发表评论
暂时没有评论,来抢沙发吧~