缺陷管理平台Mantis,也做MantisBT,全称Mantis Bug Tracker。
Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。
本文介绍基于 Docker 安装 MaintisBT 并完成配置。
环境说明
- Centos7
- Docker 19.03.13
MantisBT 镜像Pull/start
使用的的 vimagick/mantisbt 镜像
1 | # 拉取镜像 |
1 | # 启动 Mantis 8989 替换成你希望暴露的端口 |
初始化 Mantis
新建数据库。 Mysql/postgresql 都可以。 比如:”bug_mantis”
-
- ip 改为你部署 Mantis 服务器的 ip。 如果是域名访问,自行配置 nginx 或 apache 转发
- port 改为你部署 Mantis 服务暴露的端口。 如果是域名访问,自行 nginx 或 apache 转发
在初始化页面配置数据库链接。
配置完数据库就可以使用了
挂载配置文件
进入 docker 镜像命令行
1
2
3
4
5# 进入 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 内容,并复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# 此时你应该在 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
目录1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# 主机新建 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
新增邮件配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42# 配置完成后 内容如下
<?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;重新部署容器
删除当前容器
1
2docker stop <container 名称或 id> # 此处为你的 mantis 名称
docker rm <container 名称或 id> # 此处为你的 mantis 名称带配置文件的启动
1
docker run -d -p 8989:80 --name mantisbt -v /usr/data/mantis/config_inc.php:/var/www/html/config/config_inc.php vimagick/mantisbt