项目bug满天飞?Docker部署MantisBT,建立专业缺陷追踪中心

2026-08-20 08:18:23 0点赞 0收藏 0评论

一、mantisbt应用是什么?

MantisBT 是一款开源免费、轻量级的 Web 端缺陷问题跟踪管理系统,基于 PHP 语言开发,搭配 MySQL/MariaDB 数据库运行,专为团队 Bug 管理、问题闭环追踪设计。该工具摒弃了重型项目管理软件的冗余功能,主打轻量化、易部署、易运维、高自定义特性,适配各类规模的研发、测试、运维团队使用,是开源生态中最主流的缺陷管理工具之一。

1.1、功能特点

  • 轻量化缺陷管理:核心聚焦Bug/问题跟踪,无冗余功能,部署资源占用极低,运行稳定,低配服务器、虚拟机均可流畅运行

  • 多项目多用户权限管控:支持创建多个独立隔离项目,可自定义用户角色、权限分组,精准区分查看、提交、编辑、审核、管理员权限,适配团队分级管理模式

  • 全生命周期缺陷管控:完整覆盖缺陷提交、指派、开发修复、测试复测、确认关闭、归档复盘全流程,支持自定义缺陷状态、优先级、严重等级、分类标签

  • 自动化消息通知:内置标准SMTP邮件推送功能,缺陷新增、状态变更、逾期未处理、指派变更等场景,可自动推送通知至对应负责人,保障问题及时闭环

  • 高度自定义适配:支持自定义表单字段、工作流规则、报表模板、项目参数,可灵活适配软件测试、运维故障、用户反馈、需求问题等多种业务跟踪场景

  • 数据统计与导出:自带基础数据统计报表,可直观展示项目缺陷总量、修复率、逾期率、处理效率,支持CSV格式数据导出,便于复盘归档

  • 开源无版权限制:完全开源免费,无商用授权、无功能阉割,支持二次开发与功能定制,无任何使用成本

  • 高兼容易集成:适配主流MySQL/MariaDB数据库,兼容全品类浏览器,可联动Git、Jenkins等研发工具,适配常规DevOps流程

1.2、使用场景介绍

MantisBT 凭借轻量化、免费用、易运维的核心优势,适配多行业、多场景的问题追踪需求,核心使用场景如下:

  • 中小研发团队Bug管控:适用于10-50人中小型软件研发、测试团队,替代传统Excel手工统计Bug的低效模式,标准化缺陷管理流程,降低团队沟通与协作成本。

  • IT运维问题跟踪:用于线上系统故障、服务器隐患、程序异常、用户投诉反馈等问题的记录、分派、整改、闭环,实现运维问题全可追溯、可复盘。

  • 高校及实训教学场景:适配大学生课程设计、实训项目、小型创业项目管理,部署简单、操作门槛低,适合新手学习项目质量管理与缺陷管控流程。

  • 外包项目质量管控:可作为外包开发项目的质量验收工具,全程记录所有缺陷问题及整改过程,约束外包交付质量,留存完整验收依据。

  • 小型创业团队项目管理:无需高额软件授权费用,轻量化不占用服务器资源,满足初创团队低成本、高效率的项目问题管理需求。

1.3、和同类别产品对比

目前主流的缺陷/项目跟踪工具包含 Jira、Bugzilla、Trello,相较于同类产品,MantisBT 在轻量化部署、免费商用、运维成本方面优势显著

对比维度MantisBTJiraBugzillaTrello部署难度极低,Docker一键部署,无需复杂环境配置极高,环境依赖多、配置繁琐、部署周期长中等,需手动配置PHP、数据库环境无需部署,纯在线SaaS服务授权费用完全开源免费,无功能限制、无商用收费开源版功能阉割,企业版年费高昂开源免费,无商用限制免费版功能有限,高级协作功能需付费资源占用极低,单核1G低配服务器即可稳定运行极高,吃内存CPU,需高配服务器支撑中等,资源开销高于MantisBT无本地资源占用,依赖网络上手难度低,界面简洁,功能聚焦,新手快速上手高,功能繁杂,配置规则多,学习成本高中等,界面老旧,操作逻辑繁琐极低,纯可视化看板操作核心定位专注缺陷Bug精细化管理全流程项目研发管理,功能冗余传统Bug跟踪工具,迭代缓慢轻量化任务看板,无专业缺陷管控能力

MantisBT 整体界面简洁清爽,无冗余广告与复杂菜单,核心Bug提交、分派、处理功能一键直达,适配团队日常高效办公。

MantisBT 系统核心界面预览

image-20260819234413640image-20260819234413640

二、mantisbt安装部署

本次提供两种 Docker 部署方案:Docker Compose(推荐生产环境,便于统一管理、升级、运维)、Docker 单命令部署(适合临时测试、快速体验),全程实现数据持久化,避免容器删除数据丢失。

1.1、创建本地文件夹目录

创建专属工作目录,分别挂载数据库数据、程序配置文件,实现数据持久化存储:

 # 创建层级目录,存放配置与数据库数据  mkdir -p /opt/mantisbt/{db_data,mantis_config,plugins}  # 进入工作目录  cd /opt/mantisbt

目录说明:

/opt/mantisbt/db_data:持久化MariaDB数据库数据

/opt/mantisbt/mantis_config:持久化MantisBT程序配置文件

/opt/mantisbt/plugins:用于存放插件

1.2、Docker Compose配置

在工作目录新建 docker-compose.yml 配置文件,整合Web程序与数据库服务,一键启停管理。

Docker Compose配置代码

 version: '3.8'  ​  services:   mantisbt:     image: mantisbt/mantisbt:latest     container_name: mantisbt     restart: always     ports:       - "8088:80"     volumes:       - ./mantis_config:/var/www/html/config       - ./plugins:/var/www/html/plugins     environment:       - MANTIS_DB_HOST=mantis_db       - MANTIS_DB_USER=mantis_user       - MANTIS_DB_PASSWORD=Mantis@123456       - MANTIS_DB_NAME=mantisbt     depends_on:       - mantis_db     networks:       - mantis_net  ​   mantis_db:     image: mariadb:10.11     container_name: mantisbt-db     restart: always     volumes:       - ./db_data:/var/lib/mysql     environment:       - MARIADB_ROOT_PASSWORD=Root@123456       - MARIADB_DATABASE=mantisbt       - MARIADB_USER=mantis_user       - MARIADB_PASSWORD=Mantis@123456     networks:       - mantis_net  ​  networks:   mantis_net:     driver: bridge

参数说明:

  • 镜像配置:mantisbt/mantisbt:latest 为官方最新稳定镜像,mariadb:10.11 为长期支持版本,兼容性最强,规避版本报错

  • 重启策略:restart: always 配置容器开机自启,服务器重启、容器异常退出可自动恢复服务

  • 端口映射:8088:80 宿主机8088端口映射容器80端口,可根据服务器端口占用情况自定义修改宿主机端口

  • 数据挂载:volumes 挂载本地目录,容器删除、重建不会丢失配置与数据库数据,保障数据安全

  • 环境变量:统一配置数据库地址、账号、密码、库名,程序自动关联数据库,无需页面手动配置

  • 依赖配置:depends_on 保证数据库容器优先启动,避免MantisBT程序先启动导致连库失败

  • 自定义网桥:独立mantis_net网桥,隔离服务网络,提升部署安全性

启动服务命令:

 docker-compose up -d

1.3、Docker 命令安装方式

单命令部署无需编写配置文件,操作简单,适合临时测试、短期使用,不建议生产环境长期使用。

Docker 安装及运行命令代码

 # 1.创建自定义网桥  docker network create mantis_bridge  ​  # 2.启动MariaDB数据库容器  docker run -d    --name mantisbt-db    --network mantis_bridge    -v /opt/mantisbt/db_data:/var/lib/mysql    -e MARIADB_ROOT_PASSWORD=Root@123456    -e MARIADB_DATABASE=mantisbt    -e MARIADB_USER=mantis_user    -e MARIADB_PASSWORD=Mantis@123456    --restart always   mariadb:10.11  ​  # 3.启动MantisBT Web服务容器  docker run -d    --name mantisbt    --network mantis_bridge    -p 8088:80    -v /opt/mantisbt/mantis_config:/var/www/html/config    -e MANTIS_DB_HOST=mantisbt-db    -e MANTIS_DB_USER=mantis_user    -e MANTIS_DB_PASSWORD=Mantis@123456    -e MANTIS_DB_NAME=mantisbt    --restart always   mantisbt/mantisbt:latest

参数说明:

  • --network:将数据库与Web服务加入同一自定义网桥,通过容器名互通,无需填写IP地址。

  • -v 挂载参数:实现数据持久化,彻底解决容器数据随容器删除丢失的问题。

  • -p 端口映射:对外开放Web访问端口,可根据需求修改宿主机端口,避免端口冲突。

  • 环境变量参数:预配置数据库连接信息,服务启动后可直接初始化,无需手动适配数据库。

  • --restart always:配置容器永久自启,保障服务稳定性。

三、mantisbt使用技巧

3.1、初始化安全配置(必做)

  • 服务启动后访问 http://服务器IP:8088,完成页面初始化安装,默认管理员账号:administrator,默认密码:root,登录后第一时间修改默认密码,避免安全漏洞。

  • 删除安装脚本,禁止重复初始化:删除容器内 /var/www/html/admin/install.php 文件,防止恶意重置数据库。

  • 根据团队需求新建普通用户,分配最小权限,禁止全员使用管理员账号办公。

3.2、邮件通知配置

修改本地挂载目录的 mantis_config/config_inc.php 文件,配置SMTP邮件,实现缺陷变更自动通知,配置示例:

 $g_phpMailer_method = PHPMAILER_METHOD_SMTP;  $g_smtp_host = 'smtp.qq.com';  $g_smtp_port = 587;  $g_smtp_username = '你的邮箱@qq.com';  $g_smtp_password = '邮箱授权码';  $g_smtp_secure = 'tls';  $g_administrator_email = '管理员邮箱';

3.3、数据备份与恢复技巧

  • 数据库备份:定期执行命令导出SQL备份文件,防止数据误删丢失: docker exec mantisbt-db mysqldump -uroot -pRoot@123456 mantisbt > /opt/mantisbt/mantisbt_backup_$(date +%Y%m%d).sql

  • 配置备份:定期打包 /opt/mantisbt/mantis_config 目录,留存自定义配置、权限、工作流配置。

  • 数据恢复:重新部署服务后,直接替换挂载目录文件、导入SQL文件,即可快速恢复业务。

3.4、版本升级维护技巧

使用Docker Compose可一键升级最新版本,升级前务必备份数据:

 cd /opt/mantisbt  docker-compose pull  docker-compose up -d

3.5、常见问题排错技巧

  • 页面500报错:执行 docker logs mantisbt 查看日志,多为数据库未就绪、账号密码不匹配、目录权限异常导致。

  • 数据库连接失败:检查两个容器是否在同一网桥、数据库环境变量配置是否一致。

  • 中文乱码:初始化时选择UTF-8编码,数据库统一配置utf8mb4字符集。

3.6、团队高效使用技巧

  • 按项目、迭代版本创建独立项目空间,区分测试环境、生产环境缺陷,方便分类统计。

  • 自定义缺陷优先级、严重等级、状态标签,贴合团队研发流程。

  • 定期导出缺陷报表,用于项目复盘、质量分析、工作考核。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松