返回介绍

4.1 问题跟踪系统

发布于 2024-01-21 17:11:03 字数 5826 浏览 0 评论 0 收藏 0

要想让团队开发顺风顺水,首先就要把握每个开发任务的负责人是谁、开发进展到了什么程度等信息,并把这些信息整理起来。在这类任务管理工作上,问题跟踪系统(Issue Tracking System,ITS)是一把好手。

我们可以将开发中的任务添加到问题跟踪系统,然后用该系统来追踪、管理这些任务的状态。多数问题跟踪系统会以问题(Ticket)为单位进行项目管理。一般情况下,我们会把工作任务以问题的形式添加到问题跟踪系统,而不是单纯拿它来管理项目。

问题跟踪系统可以给问题添加状态(新建、进行中、解决、结束、驳回等),设置优先级(紧急、高、普通、低)、负责人、日期等,并且允许用户通过搜索查看信息一览,让我们能随时把握项目的开发情况。

将作业分割成一个个任务,再将任务分配给问题进行管理,这种开发手法称为问题驱动开发(Ticket Driven Development,TiDD)。它与敏捷开发有着很好的相容性,因此在近年来的开发中人们逐渐开始实践这种手法。关于问题跟踪系统的实际运用以及问题驱动开发的相关知识,我们将在第 5 章中进行学习。

4.1.1 Redmine

接下来,我们来了解一款问题跟踪系统——Redmine1 。Redmine 是一款开源的问题跟踪系统,它以管理项目内的任务和 Bug 的问题功能为中心,兼具服务于团队开发的功能,比如与 Wiki 和版本控制系统的联动等。

1 http://www.redmine.org/

4.1.2 安装Redmine

现在我们来安装 Redmine。首先要安装的是 Web 服务器(Apache)和 Passenger(运行 Rails 应用所需的 Apache 模块)(LIST 4.1)。

LIST 4.1 安装 Apache

$ sudo apt-get install -y apache2 libapache2-mod-passenger

然后安装数据库 MySQL(LIST 4.2)。

LIST 4.2 安装 MySQL

$ sudo apt-get install -y mysql-server mysql-client

在安装 MySQL 的过程中,需要设置 MySQL 的 root 用户密码(图 4.1、图 4.2)。这个密码在随后安装 Redmine 时会用到。

图 4.1 MySQL 的密码设置

图 4.2 MySQL 的密码设置(确认)

接下来安装 Redmine(LIST 4.3)。

LIST 4.3 安装 Redmine

$ sudo apt-get install -y redmine redmine-mysql

安装过程中会显示数据库设置的相关界面,请选择“是”(图 4.3)。

图 4.3 数据库设置

下一步选择我们要使用的数据库。这里选刚才安装的 MySQL(图 4.4)。

图 4.4 选择数据库

输入 MySQL 数据库管理员的密码。这里输入刚刚安装 MySQL 时设置的密码(图 4.5)。

图 4.5 管理员密码输入界面

最后设置 Redmine 专用的 MySQL 应用密码。设置加上确认,密码总共要输入两遍(图 4.6、图 4.7)。

图 4.6 设置 MySQL 应用密码

图 4.7 确认 MySQL 应用密码

至此,Redmine 安装完毕。

4.1.3 Redmine 的设置

要想通过 Web 浏览器访问 Redmine,需要更改 Apache 的设置,所以接下来我们修改 Apache 的设置文件。LIST 4.4 中的设置将这个 Web 服务器设置成了 Redmine 专用。

LIST 4.4 修改 Apache 的设置文件

$ sudo vi /etc/apache2/sites-available/000-default.conf

替换 000-default.conf 的如下部分(LIST 4.5)。

LIST 4.5 000-default.conf 的修改

DocumentRoot /var/www/html
↓
DocumentRoot /usr/share/redmine/public

Redmine 需要一个名为 bundler 的工具,以管理 Gem 包,所以我们还需要安装 bundler(LIST 4.6)。

LIST 4.6 安装 bundler

$ sudo gem install bundler --no-rdoc --no-ri

为保证我们能通过 Apache 对 redmine 目录下执行写入操作,需要修改文件的所有权(LIST 4.7)。

LIST 4.7 变更文件的所有权

$ sudo chown -R www-data:www-data /usr/share/redmine

至此,所有设置结束,我们重新启动 Apache(LIST 4.8)。

LIST 4.8 重启 Apache

$ sudo service apache2 restart

如果要把 Redmine 安装在客 OS 上,然后通过本地环境(主 OS)的 Web 浏览器浏览界面,则必须设置端口转发。方法与附录 B.2 一样,需要在 VirtualBox 的端口转发设置中添加一行设置:主机端口(TCP)8000、子系统端口 80(图 4.8)。

图 4.8 VirtualBox 端口转发设置

现在各位可以打开浏览器访问 http://127.0.0.1:8000/ ,看看是否能显示出 Redmine 的界面。如果全部设置正确,各位应该会看到如图 4.9 所示界面。

图 4.9 Redmine 的初始界面

怎么样,看到 Redmine 的界面了吗?

在初始状态下,管理员只要在用户名和密码处都填入 admin 即可登录。请各位登录管理员用户,修改 Redmine 的各项设置。

4.1.4 插件

Redmine 有多种用来扩展功能的插件。下面我们挑几个比较好用的来了解一下。

◉ Redmine reStructuredText Formatter

Redmine reStructuredText Formatter2 用来将问题和 Wiki 的语法从标准 Textile 转换为 reStructuredText(reST)。

2 https://github.com/ebrahim/redmine_restructuredtext_formatter

具体使用哪种语法,我们可以按照团队的喜好来定。用 reST 描述的好处在于方便用 Sphinx 整理文章。我们将在第 7 章中学习 Sphinx 的相关内容。

◉ SCM Creator plugin

使用 SCM Creator plugin3 之后,我们就可以通过 Redmine 给项目创建版本库了。

3 http://www.redmine.org/plugins/redmine_scm

这个插件的安装和设置请参考 4.2 节。

◉ Slack chat plugin

导入 Slack chat plugin4 之后,Slack 聊天系统将能够接收 Redmine 中的问题更新通知。关于 Slack,我们将在 4.3 节进行了解。

4 https://github.com/sciyoshi/redmine-slack

◉ Issue Template plugin

使用 Issue Template plugin5 可以为每种问题分别设置模板,以便开发团队成员明白哪种问题该描述些什么。比如,我们给 Bug 问题设置了模板后,就可以有效防止漏记项目。

5 http://www.r-labs.org/projects/issue-template/

Issue Template plugin 的安装和使用方法请参考 5.2 节。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文