前言:
公司的Jira和Confluence版本太低了,很多敏捷看板相关的功能都不能使用,所以计划直接升级到最新的版本。
当前Jira6.4版本需要升级到8.5.1
当前Conference5.7.1版本需要升级到7.1.0
方案:
升级过程需要保证新版本基础体安装、已使用插件安装;保证元数据迁移和本地附件目录迁移。其中本地附件目录迁移不需要考虑跨版本的问题,可以直接复制拷贝;而元数据迁移需要验证跨版本的问题。
经验证,Conference5.7.1导出的元数据可以直接在7.1.0中恢复,而Jira6.4版本导出的元数据需要经过7.0版本做一次中转才可以。
数据库准备:
使用自己自建的mysql数据库,并没有依赖Jira和Confluence安装时推荐的一键式操作
核心命令:
#登陆数据库
mysql.local
#创建database
CREATE DATABASE jiradbname CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE DATABASE wikidbname CHARACTER SET utf8 COLLATE utf8_bin;
#赋权用户
GRANT ALL PRIVILEGES ON jiradbname.* TO 'jirauser'@'yourip' IDENTIFIED BY 'yourpasswd';
GRANT ALL PRIVILEGES ON wikidbname.* TO 'wikiuser'@'yourip' IDENTIFIED BY ' yourpasswd ';
flush privileges;
#如果要清理数据库,请执行以下操作
DROP DATABASE jiradbname;
DROP DATABASE wikidbname;
Jira安装
核心指令:
#安装基础文件
#执行时注意数据文件需要选择一个足够大的磁盘空间
sudo ./atlassian-jira-software-8.5.1-x64.bin
注意数据目录的选择一点要选一个足够大的磁盘,不能用默认的配置。
#启动jira
sudo /etc/init.d/jira start
访问安装页面 http://IP:8080进行数据库初始化
Jira需要搭建两套,一套8.5.1,一套7.0
Confluence安装
核心指令:
#安装基础文件
#执行时注意数据文件需要选择一个足够大的磁盘空间
sudo ./atlassian-confluence-7.1.0-x64.bin
同样注意数据目录的选择一点要选一个足够大的磁盘,不能用默认的配置。
#启动confluence
sudo /etc/init.d/confluence start
访问安装页面 http://IP:8090进行数据库初始化
这里注意有一步要注意,不管你以后账户管理方式是怎样的,这里都使用confluence独立用户管理,后续可以再配。
Jira迁移
元数据迁移
借助jira自带的备份工具进行备份,直接在/data/atlassian/application-data/jira/export中获取备份文件
备份完后拷贝到目的机的/data/atlassian/application-data/jira/import目录下进行恢复
元数据这里记得需要做两次:6.4到7.0再到8.5.1
附件目录直接做6.4到8.5.1迁移,拷贝/data/atlassian/jira/data
PS:大数据量用多线程压缩https://www.jianshu.com/p/7d956a21f0ab
Confluence迁移
元数据迁移
不要备份数据,而且要选中存档至备份目录
就会在系统后台生成一个带时间戳的临时目录,当备份结束后会自动压缩
恢复时把压缩文件丢到restore目录下
附件目录迁移同Jira,此处略
注意:一定要小心confluence凌晨的temp目录清理机制,我就遇到过导出完毕没有把文件取走导致需要重新再来一次。
注意事项:
Confluence中文乱码问题
在Confluence机器中
mkdir /usr/share/fonts/msttcore/
#从window的C:\Windows\Fonts\ 下所有字体拖到上面新建的目录
vim /opt/atlassian/confluence/bin/setenv.sh
#搜索`CATALINA_OPTS`, 在最后一个匹配行后,追加如下行:
CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/usr/share/fonts/msttcore/ ${CATALINA_OPTS}"
Jira+Wiki账户同步问题
配置应用程序链接
先修改jira的配置
1 Jira BaseUrl配置
2 系统--应用程序--应用程序链接
匹配用户服务器
先修改jira的配置
用户管理--Jira用户服务器--确定ip地址
再来修改Confluence的配置
用户目录--输入jira那边的配置信息
PDF导出语言支持的问题
Confluence的admin账户进入系统配置à PDF导出语言支持,把自己window中的雅黑字体文件丢进去即可。
清理字体命令
fc-cache -f -v
重建Confluence插件索引
rm -Rf /data/atlassian/confluence/plugins-cache
rm -Rf /data/atlassian/confluence/plugins-osgi-cache
然后登陆Confluence的系统管理界面重建索引
服务备份
/usr/local/sh/jira-wiki-bak.sh
#!/bin/bash
backupNum=1
NOW=$(date +%Y%m%d)
/bin/tar -czf /data/atlassian_backup/jira_data_$NOW.tar.gz /data/atlassian/jira/data
/bin/tar -czf /data/atlassian_backup/confluence_attachments_$NOW.tar.gz /data/atlassian/confluence/attachments
/usr/bin/mysqldump -hIP -P3306 -uDBUSER -pPASSWORD DBNAME | gzip > /data/atlassian_backup/jira_mysql_$NOW.tar.gz
/usr/bin/mysqldump -hIP -P3306 -uDBUSER -pPASSWORD DBNAME | gzip > /data/atlassian_backup/wikidb_mysql_$NOW.tar.gz
find /data/atlassian_backup/ -mtime +$backupNum -name "jira_data*.tar.gz" -exec rm -f {} \;
find /data/atlassian_backup/ -mtime +$backupNum -name "confluence_attachments*.tar.gz" -exec rm -f {} \;
find /data/atlassian_backup/ -mtime +$backupNum -name "jira_mysql*.tar.gz" -exec rm -f {} \;
find /data/atlassian_backup/ -mtime +$backupNum -name "wikidb_mysql*.tar.gz" -exec rm -f {} \;
配置crontab,每天凌晨执行
sudo crontab -u root -e
ubuntu中crontab启动:
sudo service cron restart
centos中crontab启动:
sudo service crond restart
配置项:
0 */1 * * * nohup /usr/bin/rsync -avPz --ignore-errors --delete --contimeout=30 --timeout=10800 --password-file=/etc/jira_rsyncd.pass jingtao@IP::{logic_path} /data/atlassian_backup/ &
查看执行情况:
sudo service cron status
配置防火墙
老机器上备份防火墙:iptables-save > my.ipt
新机器上导入防火墙:iptables-restore < my.ipt
Webhook检查
最后记得检查下新版本的webhook,虽然webhook的配置会帮你导入过来,但是请留意服务请求端有没有IP白名单、防火墙、安全组等配置。