mantisbt(www.matisbt.org)是开源缺陷管理(bugtracer)软件,可使用docker快速搭建mantisbt平台供项目开发进行缺陷管理。下面简单阐述一下搭建过程。
首先选择一下已有的mantisbt image,如https://hub.docker.com/r/rainflood/mantisbt/)。下载最新版本:
docker pull rainflood/mantisbt
因mantisbt需要使用数据库存储缺陷数据,选用其推荐的mysql数据库,下载官方最新版本:
docker pull mysql
在准备好上述docker镜像后,就可以搭建缺陷管理平台了。需要创建基于mysql的mantisbtdb数据库容器,和mantisbt容器,两者通过容器连接(--link)进行内部关联,通过容器内部网络进行通信,以简化部署和维护。下面将搭建过程记录如下:
1. 使用mysql容器镜像创建 mantisbtdb 数据库容器 1) 使用docker run 命令创建 mantisbtdb mysql容器 docker run -d --name mantisbtdb \ -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=bugtracker \ -e MYSQL_USER=mantisbt -e MYSQL_PASSWORD=mantisbt \ mysql 2) 登录进容器内检查mysql数据库用词及权限是否 docker exec -ti mantisbtdb /bin/bash #mysql -uroot -proot mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | bugtracker| | mysql | | performance_schema | | sys | +--------------------+ mysql> select host,user from mysql.user; +-----------+-----------+ | host | user | +-----------+-----------+ | % | mantisbt | | % | root | | localhost | mysql.sys | | localhost | root | +-----------+-----------+ mysql> show grants for mantisbt; +----------------------------------------------------------+ | Grants for mantisbt@% | +----------------------------------------------------------+ | GRANT USAGE ON *.* TO 'mantisbt'@'%' | | GRANT ALL PRIVILEGES ON `bugtracker`.* TO 'mantisbt'@'%' | +----------------------------------------------------------+
2. 创建mantisbt容器,并通过--link命令连接上面生成的mantisbtdb数据库容器 1)docker run -d --name mantisbt -p 8088:80 --link mantisbtdb rainflood/mantisbt *先查询8088端口是否可用,如已被占用则可改用其他空闲端口
2)检查服务端口是否正常启动 netstat -nlA inet,inet6 | grep 8088 tcp6 0 0 ::: 8088 :::* LISTEN
3.初始化manitsbt 1)用浏览器打开mantisbt网站,地址可用本机或docker所在IP http://localhost:8088
2)在上面的检查者通过,按下面内容输入相应的配置,数据库管理员root用户密码为root,mantisbt用户密码为mantisbt(见创建mantisbtdb容器中的参数)
3)然后按 "Install/Upgrade Databse" 按钮进行数据库初始化安装。安装完后会显示下面信息提示安装成功。
4)然后可以按提示登录mantisbt平台进行平台配置,缺省管理员用户为administrator,密码为root,登录后会首先要求修改密码。
以后如果电脑重启后按以下顺序启用容器即可:
docker start mantisbtdb
docker start mantisbt