jira和Confluence 安装部署

1、安装MYSQL

创建本地映射路径

mkdir -p  /data/mysql
随便启动一个容器
docker run --name mysql8 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=rootroot -e TZ=Asia/Shanghai  mysql:8.0.28
复制容器的配置文件到常态化目录
docker cp mysql8:/etc/msyql /data/mysql/
修改 /data/mysql/mysql/my.cnf

[mysqld]
default-authentication-plugin=mysql_native_password
skip-name-resolve
#skip-grant-tables
max_connections=1000
max_user_connections=850
max_connect_errors=1000
max_allowed_packet=100m
innodb_log_file_size=256m
docker run \
--name mysql \
-d \
-p 3306:3306 \
--restart unless-stopped \
-v /data/mysql/mysql:/etc/mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=rootroot \
-e TZ=Asia/Shanghai \
mysql:8.0.28 --lower-case-table-names=1

该版本 jira 不知道为什么 链接MYSQL8 需要驱动,下载驱动放进去也不行,降级MYSQL5.7,按照下面操作安装MYSQL5.7

#创建持久化目录
mkdir -p  /data/mysql57

#随便启动一个容器
docker run --name mysql57 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=rootroot -e TZ=Asia/Shanghai  mysql:5.7

#复制容器的配置文件到常态化目录
docker cp mysql57:/etc/msyql /data/mysql57/mysql

#修改 /data/mysql57/mysql/mysql.conf.d/mysqld.cnf 添加下列内容

[mysqld]
default-authentication-plugin=mysql_native_password
skip-name-resolve
#skip-grant-tables
max_connections=1000
max_user_connections=850
max_connect_errors=1000
max_allowed_packet=100m
innodb_log_file_size=256m

#删除刚才随便启动的容器 
docker stop mysql57 && docker rm mysql57 

#重新启动数据库容器

docker run -d \
--name mysql57 \
-p 3306:3306 \
--privileged=true \
--restart unless-stopped \
-v /data/mysql57/mysql:/etc/mysql \
-v /data/mysql57/log:/var/log/mysql \
-v /data/mysql57/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=rootroot \
-e TZ=Asia/Shanghai \
mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

用工具连接数据库,先创建db名称为 jiraconfluence(注意字符集为 utf8mb4 排序规则为 utf8mb4_bin),的数据库 然后配置数据库的隔离级别(这是 confluence 的要求),如下:

set global transaction isolation level read committed;
select @@global.transaction_isolation;
2、部署 jira
mkdir -p /data/jira

下面两个版本随便选一个

8.1.0版本

docker run \
-d --name jira \
--restart always \
-p 8080:8080  \
-m 4096M \
-e TZ="Asia/Shanghai" \
-v /data/jira8:/var/atlassian/jira \
registry.cn-hangzhou.aliyuncs.com/yangmingquan/jira:8.1.0
9.5.0以上版本

docker run \
-d --name jira \
--restart always \
-v /data/jira:/var/jira \
-p 8080:8080 \
-m 4096M \
-e TZ='Asia/Shanghai' \
haxqer/jira

页面配置jira 1.使用浏览器访问 服务器ip:8080

jira和Confluence 安装部署_数据库

2.选择语言为中文,并保存

jira和Confluence 安装部署_数据库_02

3.选择:我将设置它自己,下一步

jira和Confluence 安装部署_mysql_03

4.链接数据库:选择其他数据库。在这里我们选择刚才启动的mysql5.6(ps:暂时还不知道为什么选择5.7+会有问题),点击下一步,等待一段时间

jira和Confluence 安装部署_数据库_04

5.等待一段时间后,我们在这里可以设置 程序标题:自定义 模式:我们选择私有 基本URL:也就是我们访问jira使用的url

jira和Confluence 安装部署_docker_05

6.根据页面上的服务器ID生成许可证关键字 步骤1:进入容器内

docker exec -it jira /bin/bash

步骤2:到atlassian-agent.jar所在目录

cd /opt/atlassian

步骤3:执行生成许可证关键字的命令

java -jar atlassian-agent.jar -d -m test@test.com -n BAT -p jira -o http://192.168.0.89 -s 页面上看到的服务器ID
参数根据实际情况调整

步骤4:填写许可证关键字,点击下一步

jira和Confluence 安装部署_mysql_06

7.设置管理员账户,点击下一步

jira和Confluence 安装部署_数据库_07

8.邮箱设置:选择以后再说,点击完成,等待一段时间

jira和Confluence 安装部署_数据库_08

9.选择中文

jira和Confluence 安装部署_数据库_09

10.选择一个头像

jira和Confluence 安装部署_mysql_10

11.创建一个项目:这时候,我们就搭建好了jira了,接下来我会详细讲解jira的使用。

jira和Confluence 安装部署_docker_11

3、部署 confluence 容器

同上,还是基于 docker-compose 来部署的,内容如下:

创建本地映射目录

mkdir -p /data/confluence
version: '3.7'
services:
  confluence:
    image: xzxiaoshan/confluence-agented:7.9.3
    container_name: confluence
    restart: always
    environment:
      tz: asia/shanghai
    ports:
      - 8090:8090
    volumes:
      - /data/confluence:/var/atlassian/confluence
  1. 访问 confluence 进行配置和授权

浏览器打开 http://192.168.1.129:8090(这里用你自己的IP),然后参照下图步骤:

如果你数据库连接信息需要修改,可以到 /opt/confluence/confluence.cfg.xml 文件中修改,然后重启服务 注意数据库url连接中用的参数是utf8,不是utf8mb4 url 中的 useUnicode=true&characterEncoding=utf8 是避免中文乱码问题的 上文提到可以在url中添加参数 sessionVariables=transaction_isolation='READ-COMMITTED' 直接设定会话的隔离级别 在 xml 文件中修改url的时候,注意 & 符号应该是 &

附:内置的授权的 agent 详见(https://gitee.com/pengzhile/atlassian-agent)

授权需要进入容器 执行

java -jar /opt/atlassian/confluence/atlassian-agent.jar + 对应的参数即可