系统迁移原因:
为方便各地的测试人员使用 ,所以需要将内网的BUG管理系统(redmine) 移植的阿里云服务器上。
系统迁移环境对比:
原BUG管理系统(redmine)安装环境:内网,Windows Server 2008R2 x64
目标BUG管理系统(redmine)安装环境:外网,Linux Centos 7 x64
系统迁移方案:
考虑到BUG管理系统(redmine)在Centos7上部署,需要安装ruby,php ,等多种开发包,怕影响到现有的系统正常运行 ,故采用了现在流行的docker 方式来部署目标系统。Docker 官网也提供了安装Redmine的指导方法(https://docs.docker.com/samples/library/redmine/)。
系统迁移步骤:
1. 从现有系统中导出全部数据。
1.1 从Redmine配置目录下找到database.yml文件(C:\Bitnami\redmine-4.0.1-1\apps\redmine\htdocs\config\database.yml),获得数据库用户和密码,导出数据库数据。导出数据有两种方案:登录 http://127.0.0.1:8080/phpmyadmin/index.php ,导出数据库数据,或者使用mysqldump命令做导出操作:mysqldump -P 3307 -ubitnami -paa03ebd9ed bitnami_redmine > redmine.sql
1.2 将存放附件的目录
(C:\Bitnami\redmine-4.0.1-1\apps\redmine\htdocs\files) 归档打包(files.tar)。
2. Cenos7 上搭建docker运行环境。
2.1 从https://get.docker.com/ 获得get-docker.sh , 在root环境下 执行 该脚本 自动安装docker运行环境。启动docker服务:systemctl start docker 。如果需要开机自启动docker服务,则继续执行如下命令:systemctl enable docker 。
2.2 安装 docker-compose : yum install docker-compose
3. 部署redmine。
3.1 创建 redmine.yml。执行 vi redmine.yml,输入以下内容,并保存。
version: ‘3.1’
services:
redmine:
image: redmine
restart: always
ports:
- 8080:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: example
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: redmine
来自docker官网文档
3.2 部署redmine服务 docker-compose -f redmine.yml up
4. 导入数据到目标数据
4.1 将redmine.sql 和files.tar 上传到 阿里云服务器。注意redmine.sql 里面的数据库名称要与sql docker中的数据库名称一致 (redmine)。
4.2 检查运行的容 docker ps
4.3 导入附件
mkdir tmp
tar xvf files.tar tmp/
cd tmp/
docker cp . [REDMINE CONTAINERID]:/usr/src/redmine/files/
4.4 导入数据库数据
docker cp redmine.sql [MYSQL CONTAINERID] ?
进入MYSQL容器 docker exec -it [MYSQL CONTAINERID] sh
进入 mysql -uroot -pexample
drop database redmine
source /redmine.sql