JIRA instance migration phase1

URL Link //n.sfs.tw/15025

2021-03-28 23:23:33 By jung

由於運作三年的JIRA server當初是架在CENT OS 6上面

為了使用BigPicture輸出pdf檔的功能

偏偏CENT OS 6已經不支援該套件會用到的node.js功能

所以只好想辦法移機

但是上面已經有2萬多筆案件紀錄,做起來真的很抖

最後試出來了,先簡單紀錄一下,剩下proxy pass的部份還沒辦法設定

希望到CENTOS 7上面可以解決在reverse proxy後面始終連不上marketplace 的問題@@

1. 備份重要檔案

/opt/atlassian/jira是安裝程式主目錄,基本上全新安裝後,只要複製部份檔案回去就好,千萬不要直接tar還原備份

mysqldump備份資料庫

/var/atlassian/這個是所有案件及前端頁面等等使用的目錄,直接整包tar還原就可以

2. 安裝CENTOS-7設定java JRE及資料庫mariadb等等

2-1. 下載安裝程式

atlassian-jira-software-7.6.1-x64.bin 授權是7.6.1就只能用這個版本的安裝程式

安裝過程選擇[2]custom install 安裝完成會問要不要寫到systemd當作開機服務,先不要,因為要先還原備份檔

2-2.複製mysql-connector

安裝完成後,一定要複製這個到jira安裝目錄下,先到網路下載

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.23.tar.gz

tar zxvf mysql-connector-java-8.0.23.tar.gz

cp mysql-connector-java-8.0.23/mysql-connector-java-8.0.23.jar /opt/atlassian/jira/lib/

2-3.設定mysql

把engine改成INNODB,5.5.5-10.5.9-MariaDB 改成放在server.cnf

vim /etc/my.cnf.d/server.cnf

[mysqld]
default-storage-engine=innodb

systemctl restart mariadb

這邊為了和原本設定相同就不用改jira的dbconfig.xml,直接設定成和原本的一樣

CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin;

CREATE USER 'jira'@'localhost' IDENTIFIED BY 'your_password';

grant all privileges on jiradb.* to 'jira'@'%' identified by 'your_password';

到這邊本機CENTOS7準備好了

3.還原備份檔

3-1.還原資料庫

mysql -u root --password=xxxxxx jiradb < /root/jira_mysql_20210319.sql

3-2.還原jira home

tar -xf jira_web_20210319.tgz -C /

再把舊機上的/opt/atlassian/jira目錄包起來,到新機上解壓縮

3-3.還原相關設定檔(/opt/atlassian/jira/)

yes | \cp -Rp /opt/old_jira/opt/atlassian/jira/temp/* /opt/atlassian/jira/temp/

yes | \cp -Rp -f /opt/old_jira/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/* /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/

yes | \cp -Rp -f /opt/old_jira/opt/atlassian/jira/atlassian-jira/WEB-INF/application-installation/* /opt/atlassian/jira/atlassian-jira/WEB-INF/application-installation/

yes | \cp -Rp -f /opt/old_jira/opt/atlassian/jira/atlassian-jira/WEB-INF/atlassian-bundled-plugins/* /opt/atlassian/jira/atlassian-jira/WEB-INF/atlassian-bundled-plugins/

yes | \cp -Rp -f /opt/old_jira/opt/atlassian/jira/atlassian-jira/WEB-INF/osgi-framework-bundles/* /opt/atlassian/jira/atlassian-jira/WEB-INF/osgi-framework-bundles/

yes | \cp -Rp -f /opt/old_jira/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/* /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/
 

基本上在/opt/atlassian/jira/atlassian-jira/WEB-INF/ 目錄下的五個子目錄還原就好

lib/

application-installation/

atlassian-bundled-plugins/

osgi-framework-bundles/

classes/

這邊會遇到一個cp -i的問題,一直問要不要複寫已經存在的檔案

所以可以執行 alias 解除 unalias cp

或是在cp前面加反斜線 \

還有一個重點是在/var/atlassian/application-data/jira/目錄下的 dbconfig.xml

內有舊機上mysql jiradb裡的管理者帳密,如果沒有和舊機設定相同,就要重新改過

MariaDB [(none)]> SET PASSWORD FOR 'jira'@'localhost' = PASSWORD('your_new_password');

做完之後我就可以順利在/opt/atlassian/jira/bin/startup.sh啟動JIRA了

但是add-on有些自己安裝的插件會被取消啟動,不知道為什麼@@

總之要自己手動到cog齒輪->add-ons去一個個啟動enable就正常了

先到這邊