Jira的终极应用—版本升级与数据迁移

旧城等待, 2023-06-19 02:24 139阅读 0赞

前言:

公司的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中获取备份文件

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly95ZWppbmd0YW8uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70

备份完后拷贝到目的机的/data/atlassian/application-data/jira/import目录下进行恢复

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly95ZWppbmd0YW8uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 1

元数据这里记得需要做两次:6.4到7.0再到8.5.1

附件目录直接做6.4到8.5.1迁移,拷贝/data/atlassian/jira/data

PS:大数据量用多线程压缩https://www.jianshu.com/p/7d956a21f0ab

Confluence迁移

元数据迁移

不要备份数据,而且要选中存档至备份目录

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly95ZWppbmd0YW8uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 2

就会在系统后台生成一个带时间戳的临时目录,当备份结束后会自动压缩

20191204022853574.png

恢复时把压缩文件丢到restore目录下

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly95ZWppbmd0YW8uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 3

附件目录迁移同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账户同步问题

配置应用程序链接

  1. 先修改jira的配置
  2. 1 Jira BaseUrl配置
  3. 2 系统--应用程序--应用程序链接

匹配用户服务器

  1. 先修改jira的配置
  2. 用户管理--Jira用户服务器--确定ip地址
  3. 再来修改Confluence的配置
  4. 用户目录--输入jira那边的配置信息

PDF导出语言支持的问题

  1. Confluenceadmin账户进入系统配置à PDF导出语言支持,把自己window中的雅黑字体文件丢进去即可。

清理字体命令

fc-cache -f -v

重建Confluence插件索引

rm -Rf /data/atlassian/confluence/plugins-cache

rm -Rf /data/atlassian/confluence/plugins-osgi-cache

然后登陆Confluence的系统管理界面重建索引

服务备份

  1. /usr/local/sh/jira-wiki-bak.sh
  2. #!/bin/bash
  3. backupNum=1
  4. NOW=$(date +%Y%m%d)
  5. /bin/tar -czf /data/atlassian_backup/jira_data_$NOW.tar.gz /data/atlassian/jira/data
  6. /bin/tar -czf /data/atlassian_backup/confluence_attachments_$NOW.tar.gz /data/atlassian/confluence/attachments
  7. /usr/bin/mysqldump -hIP -P3306 -uDBUSER -pPASSWORD DBNAME | gzip > /data/atlassian_backup/jira_mysql_$NOW.tar.gz
  8. /usr/bin/mysqldump -hIP -P3306 -uDBUSER -pPASSWORD DBNAME | gzip > /data/atlassian_backup/wikidb_mysql_$NOW.tar.gz
  9. find /data/atlassian_backup/ -mtime +$backupNum -name "jira_data*.tar.gz" -exec rm -f {} \;
  10. find /data/atlassian_backup/ -mtime +$backupNum -name "confluence_attachments*.tar.gz" -exec rm -f {} \;
  11. find /data/atlassian_backup/ -mtime +$backupNum -name "jira_mysql*.tar.gz" -exec rm -f {} \;
  12. find /data/atlassian_backup/ -mtime +$backupNum -name "wikidb_mysql*.tar.gz" -exec rm -f {} \;
  13. 配置crontab,每天凌晨执行
  14. sudo crontab -u root -e
  15. ubuntucrontab启动:
  16. sudo service cron restart
  17. centoscrontab启动:
  18. sudo service crond restart
  19. 配置项:
  20. 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/ &
  21. 查看执行情况:
  22. sudo service cron status

配置防火墙

老机器上备份防火墙:iptables-save > my.ipt

新机器上导入防火墙:iptables-restore < my.ipt

Webhook检查

最后记得检查下新版本的webhook,虽然webhook的配置会帮你导入过来,但是请留意服务请求端有没有IP白名单、防火墙、安全组等配置。

发表评论

表情:
评论列表 (有 0 条评论,139人围观)

还没有评论,来说两句吧...

相关阅读