今天在虚拟机上部署了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
拉取 mysql 镜像,这里用 5.7+ 版本举例,等下启动Jira服务后,会有引导配置,下面会回过头来说Mysql配置问题,Jira对数据库有它自己的要求。
docker pull mysql:5.7
我这就先把Mysql跑起来啦,等下要用到。
2.启动jira容器
docker run --name <自定义容器名称> -d -p <本机访问访问端口>:8080 <镜像名:标签>
3.浏览器访问Jira服务进入配置引导
主机ip:docker映射端口 -> 进入Jira服务
(1)语言选择
这里我按了好多次,只侥幸成功出现选择框一次,不清楚是什么问题,希望你不会这样。
不过就算也是这样,不要悲伤不要着急,配置引导的最后还有给你选择语言的。
选择自定义设置进入下一步:
(2)数据库配置
我这里用的是Mysql5.7, 有Jira官方文档引导的https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html
Jira连接数据库之前,需保证Mysql服务配置按下面的步骤完成了.
ps:
-
嫌麻烦数据库用户用root用户就可以.
-
docker拉的mysql配置文件my.cnf一般在容器中/etc/mysql路径
下(不清楚的可以上DockerHub看自己拉的镜像的配置文件路径).
- 配置文件需老实按官方的来, 报这个异常有可能是配置文件不
对:
- 数据库驱动下载地址文档中都有提供,蓝字点进去就是了.
以下是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连接数据库那里会提示无驱动。
我修改后的my.cnf文件:
记得重启mysql容器(这里的Database是我事先建好的)
(5)到此Jira部署完毕