迁移jira(基于docker)

介绍:
基于docker启动的jira8.20.1进行服务器以及数据库的迁移,版本无变化

环境:
服务器1(192.168.0.57),jira8.20.1 正常运行,连接mysql(x1,库:jira,用户名/密码:xxx/xxx)
服务器2(192.168.0.227),已部署docker
准备mysql ( x1,库:mao2,用户名/密码:xxx/xxx ),注意数据库必须是空的

--- 创建数据库及用户模板
CREATE USER '<USERNAME>'@'<JIRA_SERVER_HOSTNAME>' IDENTIFIED BY '<PASSWORD>';                    --- 创建用户
CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;                                  --- 创建数据库
GRANT ALL on <JIRADB>.* TO '<USERNAME>'@'<JIRA_SERVER_HOSTNAME>' IDENTIFIED BY '<PASSWORD>';     --- 授权
flush privileges;                                                                                --- 刷新权限

--- 例如以下
CREATE USER 'jira'@'%' IDENTIFIED BY '5n+0BiWDkx';
CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL on jira.* TO 'jira'@'%' IDENTIFIED BY '5n+0BiWDkx';
flush privileges;

迁移流程:
1.迁移jira:
将服务器1正在运行的jira容器打包为镜像,传至服务器2,并基于该镜像运行docker
2.迁移数据
登陆原jira web界面,点击“jira管理”–>“系统”–>“导入与导出”–>“备份系统”–>自定义备份文件名称
将备份文件拷贝至服务器2中对应目录下
登陆新jira web界面,点击“jira管理”–>“系统”–>“导入与导出”–>“恢复系统”–>自定义备份文件名称
3.迁移项目附件
拷贝attachments文件夹至对应路径下

具体迁移操作:
1、生成备份文件
登陆原jira web界面,点击“jira管理”–>“系统”–>“导入与导出”–>“备份系统”–>自定义备份文件名称(只需输入文件名即可,系统会自动生成一个以.zip的文件)
在这里插入图片描述

备份完成,如下
在这里插入图片描述

2、将容器保存为镜像,并传输至服务器2

[root@node-01 ~]# docker commit jira jira-back:8.20.1
sha256:ad2b56a95466a2c78d23178d645131036b24bc6f7965998a45dfd318628e06d5
[root@node-01 ~]# docker images | grep jira
jira-back                           8.20.1              ad2b56a95466        14 seconds ago      1.08 GB
jira                                8.20.1              2961c3e2a41d        12 days ago         972 MB
[root@node-01 ~]# docker save -o back.tar.gz jira-back:8.20.1
[root@node-01 ~]# scp back.tar.gz 192.168.0.227:/root/

# 登陆服务器2
[root@node-02 ~]# docker load -i back.tar.gz
[root@node-02 ~]# docker images | grep jira
jira-back                                           8.20.1                   ad2b56a95466        5 minutes ago       1.08GB
[root@node-02 ~]# mkdir -p /data/jira2
[root@node-02 ~]# docker run -d --restart always -m 3072M -v /data/jira2:/var/atlassian/application-data/jira --name="jira" -d -p 8092:8080 jira-back:8.20.1
594240cd868c1208fcb64ba539275824696240858ffad76e56b54e9c80384e25
[root@node-02 ~]# docker ps
CONTAINER ID        IMAGE                                             COMMAND                  CREATED             STATUS              PORTS                    NAMES
594240cd868c        jira-back:8.20.1                                  "/usr/bin/tini -- /e…"   14 seconds ago      Up 14 seconds       0.0.0.0:8092->8080/tcp   jira

3、配置
访问新jira
http://192.168.0.227:8092/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时需等待一段时间
将备份文件(/var/atlassian/application-data/jira/export/back.zip)传输至指定目录(/var/atlassian/application-data/jira/import/)下
注意:该备份只能恢复数据库中的数据,还需要恢复页面展示的项目、issues等
本次示例使用的是挂在本地目录的方式,所以传输至服务器2的本地对应路径即可

# 登陆服务器1
[root@node-01 ~]# scp /data/jira2/export/
# 登陆服务器2
[root@node-02 ~]# chmod 755 /data/jira2/import/back.zip
备份附件目录:/data/jira2/data/attachments/*            即jira家目录/data/attachments/*
备份索引目录:/data/jira2/caches/indexesV1/*            即jira家目录/caches/indexesV1/*
备份XML文件:/data/jira2/export/xxx.zip


将备份附件目录下文件恢复至新jira的家目录下的 data/attachments/下    (已有文件全部删除)        不确定是否要在新jira的家目录下的 import/attachments/ 目录下同样恢复一份
将备份索引目录下文件恢复至新jira的家目录下的 caches/indexesV1/下    (已有文件全部删除)        
将备份的XML文件压缩包上传至新jira的家目录下的 import/下,并给与755权限

默认索引备份:/data/jira2/export/indexsnapshots/ 即jira家目录 export/indexsnapshots/下的xxx.tar.sz文件 恢复此种方式的索引待验证
在这里插入图片描述
在这里插入图片描述

等待import完成
在这里插入图片描述

完成
在这里插入图片描述

手动安装 Jira Service Management
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值