缺陷管理平台Mantis,也做MantisBT,全称Mantis Bug Tracker。
Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。
本文介绍基于 Docker 安装 MaintisBT 并完成配置。
环境说明
- Centos7
- Docker 19.03.13
MantisBT 镜像Pull/start
使用的的 vimagick/mantisbt 镜像
# 拉取镜像
docker pull vimagick/mantisbt
# 启动 Mantis 8989 替换成你希望暴露的端口
docker run -d -p 8989:80 --name mantisbt vimagick/mantisbt
初始化 Mantis
-
新建数据库。 Mysql/postgresql 都可以。 比如:“bug_mantis”
-
- ip 改为你部署 Mantis 服务器的 ip。 如果是域名访问,自行配置 nginx 或 apache 转发
- port 改为你部署 Mantis 服务暴露的端口。 如果是域名访问,自行 nginx 或 apache 转发
-
在初始化页面配置数据库链接。
配置完数据库就可以使用了
挂载配置文件
-
进入 docker 镜像命令行
# 进入 mantis docker 容器命令行 docker exec -it <container 名称或 id> /bin/bash # 示例 # container 名称或 id 可以通过 docker ps -a 查看。本文在 启动镜像时, 通过 --name 命名为 mantisbt docker exec -it mantisbt /bin/bash
-
复制 config_inc.php 内容
当你初始化完成后,此配置文件会写入你的数据库配置。为避免 docker 容器被删除,每次都要重新初始化,我们需要将配置文件拷贝出来。并添加我们自己的配置
查看 config_inc.php 内容,并复制
# 此时你应该在 docker mantisbt 容器里 cat: /var/www/html/config/config_inc.php # 内容如下 <?php $g_hostname = '192.168.0.197'; $g_db_type = 'pgsql'; $g_database_name = 'fx_mantisbt'; $g_db_username = 'postgres'; $g_db_password = 'fx123456'; $g_db_table_prefix = 'fx'; $g_db_table_plugin_prefix = 'mantis'; $g_db_table_suffix = 'mantis'; $g_default_timezone = 'Asia/Shanghai'; $g_crypto_master_salt = 'tQpeV+o+BQ3zdBv6t9Kn0jXBK7AFJJdeko5fIsBH8Hs=';
-
在主机下新建配置文件
位置任意,比如我是在
/usr/data/
下新建mantis
目录# 主机新建 config_inc.php 配置文件 vi /usr/data/mantis/config_inc.php # 打开后,将 mantis 的配置复制进去 # 内容如下 <?php $g_hostname = '192.168.0.197'; $g_db_type = 'pgsql'; $g_database_name = 'fx_mantisbt'; $g_db_username = 'postgres'; $g_db_password = 'fx123456'; $g_db_table_prefix = 'fx'; $g_db_table_plugin_prefix = 'mantis'; $g_db_table_suffix = 'mantis'; $g_default_timezone = 'Asia/Shanghai'; $g_crypto_master_salt = 'tQpeV+o+BQ3zdBv6t9Kn0jXBK7AFJJdeko5fIsBH8Hs=';
-
增加配置
继续编辑
/usr/data/mantis/config_inc.php
新增邮件配置# 配置完成后 内容如下 <?php $g_hostname = '192.168.0.197'; $g_db_type = 'pgsql'; $g_database_name = 'fx_mantisbt'; $g_db_username = 'postgres'; $g_db_password = 'fx123456'; $g_db_table_prefix = 'fx'; $g_db_table_plugin_prefix = 'mantis'; $g_db_table_suffix = 'mantis'; $g_default_timezone = 'Asia/Shanghai'; $g_crypto_master_salt = 'tQpeV+o+BQ3zdBv6t9Kn0jXBK7AFJJdeko5fIsBH8Hs='; /** * 开启邮箱验证 */ $g_enable_email_notification = ON; $g_phpMailer_method = PHPMAILER_METHOD_SMTP; /** * smtp 配置 */ $g_smtp_host = 'smtp.example.com'; $g_smtp_username = 'your-mail@example.com'; $g_smtp_password = '******'; $g_smtp_port = 465; $g_smtp_connection_mode = 'ssl'; /* 普通为 25 ,具体设置参考你使用邮箱 smtp 配置 */ $g_from_name = 'Mantis Bug Tracker'; $g_administrator_email = 'your-mail@example.com'; $g_webmaster_email = 'your-mail@example.com'; $g_return_path_email = 'your-mail@example.com'; $g_from_email = 'your-mail@example.com'; /** * 创建用户时可以设置密码,默认是通过邮件邀请,公司内部用可以启用 */ $g_send_reset_password = OFF;
-
重新部署容器
删除当前容器
docker stop <container 名称或 id> # 此处为你的 mantis 名称 docker rm <container 名称或 id> # 此处为你的 mantis 名称
带配置文件的启动
docker run -d -p 8989:80 --name mantisbt -v /usr/data/mantis/config_inc.php:/var/www/html/config/config_inc.php vimagick/mantisbt