架构——mysql、wiki、jira

资源:
mysql-connector-java-5.1.49-bin.jar
atlassian-agent.jar

docker部署mysql并配置

# docker pull mysql:5.7
# mkdir -p /data/mysql/{conf,data,logs}			# 分别用来存放mysql配置,mysql数据,mysql日志
# vim /data/mysql/conf/my.cnf
[mysqld]
port=7001
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
init_connect='SET NAMES utf8
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G

# chmod 777 /data/mysql/logs/
# docker run -itd --name mysql -p7001:7001 -v /data/mysql/conf/:/etc/mysql/conf.d -v /data/mysql/data/:/var/lib/mysql -v /data/mysql/logs/:/var/log/ -eMYSQL_ROOT_PASSWORD="my123456" mysql:5.7
# docker exec -it mysql /bin/bash -c 'cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime'


# docker exec -it mysql /bin/bash
# mysql -uroot -pmy123456
mysql> CREATE DATABASE jira CHARACTER SET utf8 COLLATE utf8_bin;
mysql> grant all privileges on *.* to jirauser@"%" identified by "my123456";
mysql> flush privileges;
mysql> CREATE DATABASE wiki CHARACTER SET utf8 COLLATE utf8_bin;
mysql> grant all privileges on *.* to wikiuser@"%" identified by "my123456";
mysql> flush privileges;

(可选)开启MySQL远程访问权限 允许远程连接
mysql -u root -p			# 打开 mysql 数据库
select * from user \G;		# 查看 user 数据表当前已有的数据
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my123456';		# 修改一条 root 数据,并刷新MySQL的系统权限相关表
flush privileges;
grant all privileges on *.* to root @"%" identified by "root";			# 或者使用 grant 命令重新创建一个用户
flush privileges;

docker部署jira并配置

# docker volume create --name jiraVolume
# mkdir -p /data/jira-wiki/jira
# touch /data/jira-wiki/jira/server.xml
# docker run -d --name jira  --restart always -p 8080:8080 -e TZ="Asia/Shanghai"  -v /data/jira-wiki/jira/server.xml:/opt/atlassian/jira/conf/server.xml -v jiraVolume:/var/atlassian/application-data/jira  atlassian/jira-software

# docker cp /data/jira-wiki/jira/mysql-connector-java-5.1.49-bin.jar jira:/opt/atlassian/jira/lib/
# docker cp /data/jira-wiki/jira/atlassian-agent.jar jira:/opt/atlassian/jira/
# docker exec -it jira /bin/bash
# echo -e '\nexport JAVA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${JAVA_OPTS}"' >>  /opt/atlassian/jira/bin/setenv.sh
# echo -e '\nexport CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >>  /opt/atlassian/jira/bin/setenv.sh
# exit
# docker restart jira

配置好环境变量后重启容器,然后进入docker环境中。在脚本中执行atlassian-agent.jar得到授权码激活。
# docker exec -it jira /bin/bash
/opt/atlassian/jira/atlassian-jira/WEB-INF/lib# /opt/java/openjdk/bin/java -jar /opt/atlassian/jira/atlassian-agent.jar -p jira -m [email protected] -n jira -o http://192.168.30.33:8080 -s B7MG-E6WR-956N-E6U0
问题记录及优化:

问题一:进入主页创建项目报错:Error creating project, XSRF check failed 解决:配置代理nginx

    server {
    
    
        listen     80;
        server_name jira.****.cn;
        keepalive_timeout   70;

        location / {
    
    
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_pass http://127.0.0.1:8080;
            client_max_body_size 10M;
        }

问题二:点击返回主页图标后访问至http://127.0.0.1:8080,
解决:设置——系统——编辑设置——基本URL修改为你想要的地址

问题三:检查是否使用所需排序规则配置数据库和表格。Jira 不支持数据库排序规则“utf8_bin”和表排序规则“utf8_bin”。
解决:修改数据库排序规则

mysql> show create database jira;
+----------+--------------------------------------------------------------------------------+
| Database | Create Database                                                                |
+----------+--------------------------------------------------------------------------------+
| jira     | CREATE DATABASE `jira` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */ |
+----------+--------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> ALTER DATABASE jira COLLATE utf8mb4_general_ci;
Query OK, 1 row affected (0.00 sec)

SELECT CONCAT('ALTER TABLE `',  table_name, '` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;')
FROM information_schema.TABLES AS T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` AS C
WHERE C.collation_name = T.table_collation
AND T.table_schema = 'jira'
AND
(
    C.CHARACTER_SET_NAME != 'utf8mb4'
    OR
    C.COLLATION_NAME != 'utf8mb4_bin'
);

问题四:JIRA运行慢,修改JVM
解决:

# docker cp jira:/opt/atlassian/jira/bin/setenv.sh /data/jira-wiki/jira/
# cp /data/jira-wiki/jira/setenv.sh /data/jira-wiki/jira/setenv.sh.220906bak
# vim /data/jira-wiki/jira/setenv.sh
: ${JVM_MINIMUM_MEMORY:=1024m}
: ${JVM_MAXIMUM_MEMORY:=2048m}

# docker cp /data/jira-wiki/jira/setenv.sh jira:/opt/atlassian/jira/bin/setenv.sh
# docker restart jira 

docker部署wiki并配置

# mkdir /data/jira-wiki/wiki
# touch /data/jira-wiki/wiki/server.xml
# docker run --name=wiki --restart always -v /data/jira-wiki/wiki/:/var/atlassian/application-data/confluence/ -v /data/jira-wiki/wiki/server.xml:/opt/atlassian/confluence/conf/server.xml -d -p 8090:8090 -p 8091:8091 atlassian/confluence

# docker cp /data/jira-wiki/jira/mysql-connector-java-5.1.49-bin.jar wiki:/opt/atlassian/confluence/confluence/WEB-INF/lib
# docker cp /data/jira-wiki/jira/atlassian-agent.jar wiki:/opt/atlassian/confluence/
# docker exec -it wiki /bin/bash
# echo -e '\nexport JAVA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${JAVA_OPTS}"' >> /opt/atlassian/confluence/bin/setenv.sh
# echo -e '\nexport CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${CATALINA_OPTS}"' >>  /opt/atlassian/confluence/bin/setenv.sh
# exit
# docker restart wiki

配置好环境变量后重新docker,然后进入docker环境中。在脚本中执行atlassian-agent.jar得到授权码激活。
# docker exec -it wiki /bin/bash
root@0bd96b7ea26c:/opt/atlassian/confluence# /opt/java/openjdk/bin/java -jar /opt/atlassian/confluence/atlassian-agent.jar -p conf -m [email protected] -n wiki -o http://192.168.30.33:8090 -s BVQT-DHGG-MOXE-CC78
数据库必须使用“READ-COMMITED”作为默认隔离级别
# vim /data/mysql/conf/my.cnf
……
transaction-isolation=READ-COMMITTED

# vim /data/jira-wiki/wiki/confluence.cfg.xml
  <properties>
    <property name="access.mode">READ_WRITE</property>			# 添加
    
# docker restart mysql
# docker restart wiki
报错:

Cause

  • bundle [com.atlassian.plugins.authentication.atlassian-authentication-plugin]
  • Could not read fields for table AO_ED669C_IDP_CONFIG
  • Table ‘wiki.AO_ED669C_IDP_CONFIG’ doesn’t exist

jira——wiki 链接

wiki_web页——>设置——>应用程序链接——>创建链接——>填写对应信息,链接至jira

docker限制容器内存

# docker stop jira
# docker update jira -m 4g --memory-swap -1			# 可使用内存=4g+swap分区内存
# docker start jira

猜你喜欢

转载自blog.csdn.net/weixin_45373345/article/details/126519665