JIRA是Atlassian伞下的一款旗舰产品,其有细分为Jira Core/Jira Software/Jira Service,另外同时有分Cloud方式和本地方式,此文使用的是在本地搭建Jira Software的方式。

挂载卷的本地目录

按照生产环境方式部署jira,需要设定数据库,这里使用mysql,相关的卷的挂载信息如下

服务 宿主目录 容器Mapping地址 说明
MYSQL data /var/lib/mysql mysql数据
MYSQL conf.d /etc/mysql/conf.d mysql设定
MYSQL jira /var/atlassian/jira JIRA HOME
[root@platform ~]# mkdir jira
[root@platform ~]# cd jira
[root@platform jira]# mkdir -p data conf.d jira
[root@platform jira]# ls
conf.d  data  jira
[root@platform jira]#

docker-compose设定文件

[root@platform jira]# cat docker-compose.yml 
version: '2'
services:
  # database service: mysql
  mysql:
    image: liumiaocn/mysql:5.7.18
    ports:
      - "32911:3306"
    volumes:
      - ./data/:/var/lib/mysql
      - ./conf.d/:/etc/mysql/conf.d
    environment:
      - MYSQL_ROOT_PASSWORD=admin123
      - MYSQL_DATABASE=jira
      - MYSQL_USER=jira
      - MYSQL_PASSWORD=jira123
    restart: "no"
  # Ticket Management service: jira
  jira:
    image: liumiaocn/jira-software:7.11
    ports:
      - "32901:8080"
    volumes:
      - ./jira:/var/atlassian/jira
    links:
      - mysql:mysql
    restart: "no"
[root@platform jira]#

如果不使用这种方式,比如使用外部的镜像,可以在yml文件中以如下方式设定link

    external_links:
      - mysql:本机运行的mysql镜像名

然后使用如下命令创建数据库和用户

创建DB:1. create database jira charset=utf8;
创建用户并授权:2. grant all privileges on jira.* to jira@’%’ identified by ‘jira123’;

启动jira

首次启动建议使用docker-compose up直接启动,如果有问题可以直接中日志中确认

[root@platform jira]# docker-compose up
Creating network "jira_default" with the default driver
Creating jira_mysql_1 ... 
Creating jira_mysql_1 ... done
Creating jira_jira_1 ... 
Creating jira_jira_1 ... done
Attaching to jira_mysql_1, jira_jira_1
jira_1   | executing as current user
jira_1   |                 .....
jira_1   |           .... .NMMMD.  ...
jira_1   |         .8MMM.  $MMN,..~MMMO.
jira_1   |         .?MMM.         .MMM?.
jira_1   | 
jira_1   |      OMMMMZ.           .,NMMMN~
jira_1   |      .IMMMMMM. .NMMMN. .MMMMMN,
jira_1   |        ,MMMMMM$..3MD..ZMMMMMM.
jira_1   |         =NMMMMMM,. .,MMMMMMD.
jira_1   |          .MMMMMMMM8MMMMMMM,
jira_1   |            .ONMMMMMMMMMMZ.
jira_1   |              ,NMMMMMMM8.
jira_1   |             .:,.$MMMMMMM
jira_1   |           .IMMMM..NMMMMMD.
jira_1   |          .8MMMMM:  :NMMMMN.
jira_1   |          .MMMMMM.   .MMMMM~.
jira_1   |          .MMMMMN    .MMMMM?.
jira_1   | 
jira_1   |       Atlassian JIRA
jira_1   |       Version : 7.11.0
jira_1   | 
jira_1   | If you encounter issues starting or stopping JIRA, please see the Troubleshooting guide at http://confluence.atlassian.com/display/JIRA/Installation+Troubleshooting+Guide
jira_1   | 
jira_1   | Using JIRA_HOME:       /var/atlassian/jira
jira_1   | 
...省略
jira_1   |     ---------------------------------------------------------------------------------
jira_1   |       Heap memory     :  Used:   54 MiB.  Committed:  371 MiB.  Max:  742 MiB
jira_1   |       Non-heap memory :  Used:   65 MiB.  Committed:   67 MiB.  Max: 1264 MiB
jira_1   |     ---------------------------------------------------------------------------------
jira_1   |       TOTAL           :  Used:  118 MiB.  Committed:  438 MiB.  Max: 2006 MiB
jira_1   |     ---------------------------------------------------------------------------------

使用 http://localhost:32901 开始设定jira
这里写图片描述

选定I’ll set it up myself

设定数据库

点击Test Connection按钮,确认数据库设定正确之后再进行下一步操作
这里写图片描述

接下来会一般会等待个几分钟jira会在链接的数据库jira中使用设定的jira用户进行建表操作,中间的过程可以从日志中进行实时的确认
数据库配置完毕之后,相关的配置信息会存放在dbconfig.xml文件中,因为所在目录也被挂载出来了,所以之后可以根据需要进行修改。

设定评估用license

这里写图片描述
数据库配置完成之后,Jira会继续进行系统插件的设定,当这些设定都完成之后,Jira会生成一个Server ID, 这里生成的是BF0L-UGSF-EQC9-FMG7
这里写图片描述
而这个Server ID是与License挂钩的,POC或者使用的时候可以注册个账户使用评估用的License,当然有license也可以直接使用。
这里写图片描述
点击generate license就可以生成一个license了, 评估时间实际是1个月
这里写图片描述

设定用户相关信息
这里写图片描述
可以同时在安装的时候进行SMTP邮件服务器的设定,关于SMTP的基本知识可以参看: https://blog.csdn.net/liumiaocn/article/details/81131420

设定基本信息

设定语言,选择头像之后基本上就可以使用jira-software了
这里写图片描述
为了后面使用简单,这里创建一个Sample Project
这里写图片描述
使用scrum方式,设定信息如下
这里写图片描述
这样,就有了一个带有基本信息和sample数据的项目了,后续就绪介绍如何使用rest api对其进行操作时就会更加便利。
这里写图片描述

使用 用户管理/创建用户可以创建一个新的用户
这里写图片描述

因为在设定时已经设定了SMTP邮件服务器,所以此时此用户会收到相关mail
这里写图片描述

Warn信息

jira中会发现还有如下Warn信息

 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

这是因为Mysql的版本的问题,提示里面已经说了,在5.5.45+等版本,需要明示的写出来是否使用ssl,即使不使用也需要加上useSSL=false

jira的数据库连接的设定文件位于JIRA_HOME的根目录,名为:dbconfig.xml , 因为此目录已经挂出来了,所以可以直接修改。

[root@platform jira]# ls
conf.d  data  docker-compose.yml  jira
[root@platform jira]# cd jira
[root@platform jira]# ls
analytics-logs  caches  data  dbconfig.xml  export  import  jira-healthcheck-eol.json  log  logos  monitor  plugins  tmp
[root@platform jira]# cat dbconfig.xml 
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
  <name>defaultDS</name>
  <delegator-name>default</delegator-name>
  <database-type>mysql</database-type>
  <jdbc-datasource>
    <url>jdbc:mysql://address=(protocol=tcp)(host=192.168.163.118)(port=32911)/jira?useUnicode=true&amp;characterEncoding=UTF8&amp;sessionVariables=default_storage_engine=InnoDB</url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <username>jira</username>
    <password>jira123</password>
    <pool-min-size>20</pool-min-size>
    <pool-max-size>20</pool-max-size>
    <pool-max-wait>30000</pool-max-wait>
    <validation-query>select 1</validation-query>
    <min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
    <time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
    <pool-max-idle>20</pool-max-idle>
    <pool-remove-abandoned>true</pool-remove-abandoned>
    <pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
    <pool-test-on-borrow>false</pool-test-on-borrow>
    <pool-test-while-idle>true</pool-test-while-idle>
    <validation-query-timeout>3</validation-query-timeout>
  </jdbc-datasource>
</jira-database-config>
[root@platform jira]#

只需要在url标签中加入useSSL=false的设定,并重新启动jira,此Warning即可消除:

<url>jdbc:mysql://address=(protocol=tcp)(host=192.168.163.118)(port=32911)/jira?useUnicode=true&useSSL=true&amp;characterEncoding=UTF8&amp;sessionVariables=default_storage_engine=InnoDB</url>

此Warning并不影响使用,主要是通过设定这个,可以展示JIRA相关的数据信息以及设定信息都在JIRA_HOME中有所保存,当然主要的数据还是保存在数据库中。

https://hub.docker.com/_/mysql/
https://hub.docker.com/r/cptactionhank/atlassian-jira-software/
执行命令create database jira charset=utf8;grant all privileges on jira.* to jira@’%’ identified by ‘abcd1234’;执行日志mysql&amp;amp;amp;amp;gt; create database jira charset=utf8;Query OK, 1 row affected (0.01 s...
Jira 提供了较为完善的RestAPI,这篇文章来看一下 Jira - Software 所提供的Rest API功能, 并提供curl的方式进行project的确认,并在已经创建的project中创建issue。
使用 Jira 软件的敏捷开发团队拥有一个全面的平台来管理他们的积压工作和正在进行的工作。 您可以设置 Jira 以支持不同的敏捷方法,包括scrum和看板,然后配置工作流程,字段和屏幕以使其与您的工作方式保持一致。 敏捷组织可以在其敏捷 实践 和工具配置方面赋予其团队很多自主权,或者可以使用 Jira 的模式和自动化来标准化实现的元素 。 随着敏捷团队习惯于在 Jira 中管理积压和需求,有机会使用第三方...
Jira 使用手册 1    概述 跟踪并管理在项目开发和维护过程中出现的问题(如:缺陷、新特性、任务、改进等)是项目管理很重要的任务,但是很少有团队能做的很好。 JIRA 作为一个专业的问题跟踪系统可以帮助您把缺陷管理起来,让跟踪和管理在项目中发现的问题变得简单,而且充分利用 JIRA 的灵活配置和扩展特性,可以将 JIRA 作为一个项目管理系统或者IT支持系统。 2 JIRA 特性 3. JIRA Service Desk 大家选择应该使用哪一个版本呢,在这里向大家对这三个版本的应用场景和相关特性进行说明。 在 Jira 7之前, JIRA 提供了一个可扩展的架构平台,允许第三方对 JIRA 进行各种功能和新特性的扩展,大Atlassian公司的插件市场上,我们可以找到各种各样的功能插件。 在之前的众多插件中,如Agile(...