今天在虚拟机上部署了Jira服务,将部署过程和遇到的问题记录在此。

下面是我的部署过程:

1.准备镜像

拉取 jira 镜像,将 <版本>替换成你所需要的版本。我这里拉的是当前最新版本(8+),其他版本可访问 Docker Hub(https://registry.hub.docker.com/) 搜索 atlassian-jira-software 关键字。

#docker pull cptactionhank/atlassian-jira-software:<版本>
docker pull cptactionhank/atlassian-jira-software:latest

docker 裸机 docker jitsi_MySQL

拉取 mysql 镜像,这里用 5.7+ 版本举例,等下启动Jira服务后,会有引导配置,下面会回过头来说Mysql配置问题,Jira对数据库有它自己的要求。

docker pull mysql:5.7

docker 裸机 docker jitsi_MySQL_02

我这就先把Mysql跑起来啦,等下要用到。

docker 裸机 docker jitsi_linux_03

2.启动jira容器

docker run --name <自定义容器名称> -d -p <本机访问访问端口>:8080 <镜像名:标签>

docker 裸机 docker jitsi_docker_04

3.浏览器访问Jira服务进入配置引导

主机ip:docker映射端口    -> 进入Jira服务

docker 裸机 docker jitsi_docker_05

docker 裸机 docker jitsi_docker_06

(1)语言选择

这里我按了好多次,只侥幸成功出现选择框一次,不清楚是什么问题,希望你不会这样。

不过就算也是这样,不要悲伤不要着急,配置引导的最后还有给你选择语言的。

docker 裸机 docker jitsi_docker_07

选择自定义设置进入下一步:

docker 裸机 docker jitsi_docker_08

(2)数据库配置

我这里用的是Mysql5.7, 有Jira官方文档引导的https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html Jira连接数据库之前,需保证Mysql服务配置按下面的步骤完成了.

docker 裸机 docker jitsi_docker 裸机_09

ps:

  1. 嫌麻烦数据库用户用root用户就可以.
  2. docker拉的mysql配置文件my.cnf一般在容器中/etc/mysql路径

下(不清楚的可以上DockerHub看自己拉的镜像的配置文件路径).

  1. 配置文件需老实按官方的来, 报这个异常有可能是配置文件不

对:

docker 裸机 docker jitsi_数据库_10

  1. 数据库驱动下载地址文档中都有提供,蓝字点进去就是了.

以下是Jira官网提供的配置步骤:

一.创建和配置MySQL数据库创建数据库时,请记住您的数据库名称, 用户名和端口号,因为以后需要它们将Jira连接到数据库。

	1. 创建一个将由Jira连接的数据库用户,例如jiradbuser。 (嫌麻烦用root用户就可以)

CREATE USER '<USERNAME>' IDENTIFIED BY '<PASSWORD>';
	2. 创建用于Jira的数据库以将问题存储在例如jiradb中。

数据库必须具有UTF8字符集。要进行设置,请在MySQL命令客户端中输入以下命令:

CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
	
	3. 确保用户具有连接到数据库的权限以及创建和填充表的权限。您可以使用以下命令提供这些权限。 (嫌麻烦用root用户登录就可以)

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on <JIRADB>.* TO '<USERNAME>'@'<JIRA_SERVER_HOSTNAME>';
flush privileges;
	
	4. 在MySQL服务器中编辑my.cnf或my.ini(Windows)文件(有关编辑这些文件的详细说明,请参见 MySQL选项文件)。 

	5. 在文件中找到该[mysqld] 部分,然后添加或修改以下参数:
	# 将默认存储引擎设置为InnoDB:
	default-storage-engine=INNODB
	
	#指定数据库服务器使用的字符集:
	character_set_server=utf8mb4
	
	#将默认行格式设置为 DYNAMIC:
	innodb_default_row_format=DYNAMIC
	
	#指定的值 innodb_log_file_size 至少为2G:
	innodb_log_file_size=2G
	
	#确保sql_mode参数未指定NO_AUTO_VALUE_ON_ZERO
	#remove this if it exists
	#如果有下面这句,记得删掉,或打上注释
	#sql_mode = NO_AUTO_VALUE_ON_ZERO
	
	6. 重新启动MySQL服务器,以使更改生效。

二.复制MySQL JDBC驱动程序 
将MySQL JDBC驱动程序复制到Jira安装目录。

	1. 下载推荐的MySQL驱动程序(下载地址看上面ps第4点) 

	2. 将驱动程序(下载后文件夹中的Jar包)复制到以下目录:<Jira-installation-directory>/lib。
	<Jira-installation-directory>一般在(容器中的路径, 可到DockerHub看相应版本的安装路径):  

	/opt/atlassian/jira
	
	3. 重新启动Jira服务。

没有将驱动放进来的话,Jira连接数据库那里会提示无驱动。

docker 裸机 docker jitsi_linux_11


我修改后的my.cnf文件:

docker 裸机 docker jitsi_docker_12


记得重启mysql容器(这里的Database是我事先建好的)

docker 裸机 docker jitsi_linux_13

docker 裸机 docker jitsi_docker_14


(5)到此Jira部署完毕