Grafana与Jira的Docker持久化部署

学习思路:

  1. gitlab基于docker安装
  2. jira基于docker安装
  3. gitlab配置jira-代码push后jira自动显示注释,Merged Master后自动修改jira状态

一、基于docker安装gitlab

1、镜像拉取

#拉取最新的gitlab镜像
docker pull gitlab/gitlab-ce
  • 1.
  • 2.

当然还可以指定版本拉取

docker pull gitlab/gitlab-ce:xxx
  • 1.

2、运行容器

docker run -d  -p 8443:443 -p 8080:80 -p 8022:22 --name gitlab --restart always -v $PWD/config:/etc/gitlab -v $PWD/logs:/var/log/gitlab -v $PWD/data:/var/opt/gitlab gitlab/gitlab-ce
  • 1.

参数解释:

# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# --restart always:失败自动重启
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

#  $PWD在本目录(当然也可以指定绝对路径)

建议:在执行该命令时自己新建gitlab包路径,因为会将容器内文件映射到本目录下

到此为止浏览器访问8080端口就可以了

二、基于docker安装jira

jira是Atlassian公司的收费产品,主要包含jira core(基本业务管理)、jira Align(企业级敏捷规划)、jira Software(项目与问题追踪);目前企业用的基本都是Jira Software,我们这里安装的也是

1、拉取镜像

docker pull dchevell/jira-software:7.13.0
  • 1.

当然也可以不带版本号,默认拉取最新的

2、运行容器

docker run -d -it -p  8080:8080  --privileged  -m 2048M -v $PWD/jira-data:/var/atlassian/application-data/jira  -v /etc/localtime:/etc/localtime --name jira dchevell/jira-software:7.13.0
  • 1.

3、连接mysql

首先下载jia包(mysql-connector-java-5.1.49.jar)可以mysql官网下载

然后进行如下操作

#拷贝jar包到容器jira的lib下
docker cp mysql-connector-java-5.1.49-bin.jar jira:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/

#进入容器修改jar包权限
docker exec -it jira bash

chmod 755 /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/mysql-connector-java-5.1.49-bin.jar

#退出容器
exit

#重启容器
docker restart jira
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

4、web页面设置属性

访问8080端口

grafana docker 持久化部署 docker部署jira_持续交付

选择语言

grafana docker 持久化部署 docker部署jira_docker_02

选择《我将设置它自己》

grafana docker 持久化部署 docker部署jira_git_03

线上选择其他数据库

grafana docker 持久化部署 docker部署jira_mysql_04

填写数据库配置

申请许可证关键字,点击「生成Jira试用许可证」

需要注册账号,注册完之后,选择相关信息,点击「Generate License」,会自动跳回到这个页面并填充信息,

接着点击「下一步」

等待一会就进入设置管理员页面,填入一些信息即可,接着「下一步」点击「完成」即完成设置

注意:收费的还未破解

三、gitlab配置jira-代码push后jira自动显示注释,Merged Master后自动修改jira状态

grafana docker 持久化部署 docker部署jira_持续交付_05

点击要配置的项目->Settings->Integrations->Jira

grafana docker 持久化部署 docker部署jira_docker_06

Web URL:指向Jira实例web接口的基本URL,该接口被链接到这个GitLab项目。例如,https://jira.example.com

Transition ID:这个是jira工作流程的流程id

流程id可以访问: http://*.*.*.*:8080/rest/api/2/issue/FTBQ-5/transitions

 FTBQ-5:是你jira创建的任何一个问题的号

此时会返回

{
	"expand": "transitions",
	"transitions": [{
		"id": "11",
		"name": "待办",
		"to": {
			"self": "http://:8080/rest/api/2/status/10000",
			"description": "",
			"iconUrl": "http://106.53.239.230:8080/",
			"name": "待办",
			"id": "10000",
			"statusCategory": {
				"self": "http://:8080/rest/api/2/statuscategory/2",
				"id": 2,
				"key": "new",
				"colorName": "blue-gray",
				"name": "待办"
			}
		}
	}, {
		"id": "21",
		"name": "处理中",
		"to": {
			"self": "http://:8080/rest/api/2/status/3",
			"description": "此问题正在被经办人积极处理。",
			"iconUrl": "http://106.53.239.230:8080/images/icons/statuses/inprogress.png",
			"name": "处理中",
			"id": "3",
			"statusCategory": {
				"self": "http://:8080/rest/api/2/statuscategory/4",
				"id": 4,
				"key": "indeterminate",
				"colorName": "yellow",
				"name": "处理中"
			}
		}
	}, {
		"id": "31",
		"name": "完成",
		"to": {
			"self": "http://:8080/rest/api/2/status/10001",
			"description": "",
			"iconUrl": "http://:8080/",
			"name": "完成",
			"id": "10001",
			"statusCategory": {
				"self": "http://:8080/rest/api/2/statuscategory/3",
				"id": 3,
				"key": "done",
				"colorName": "green",
				"name": "完成"
			}
		}
	}]
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.

json中的:"id": "31"就是流程id填入Transition ID即可,多个可用逗号(,)隔开

具体可以看gitlab文档: https://docs.gitlab.com/ce/user/project/integrations/jira.html

四、验证

 1、我们在jira创建问题(FTBQ-2为例)

grafana docker 持久化部署 docker部署jira_持续交付_07

然后idea修改代码commit时备注填写以问题好开头,然后push

grafana docker 持久化部署 docker部署jira_持续交付_08

到jira中的效果就是

grafana docker 持久化部署 docker部署jira_git_09

2、我们再看Transition ID的作用

这里官网提供了三个前缀:触发场景就是在代码合并到默认分支(master)时jira自动触发相应操作

Resolves PROJECT-1
Closes PROJECT-1
Fixes PROJECT-1
  • 1.
  • 2.
  • 3.

还是以FTBQ-2为例,commit是备注写 Close FTBQ-2 测试11111

然后提交合并到默认分支master,jira中会自动从处理中转为完成

grafana docker 持久化部署 docker部署jira_持续交付_10

 


QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空