Review Board - специализированная программа, которая помогает производить анализ кода и выявлять ошибки, недочеты в стиле написания кода. Затем происходит рецензирование кода (code review). Когда замечания исправлены, рецензия считается закрытой и код включается в стабильную ветку проекта. Весь процесс рецензирования хорошо структурирован. Рецензия - произвольный набор комментариев к коду, каждый из которых принадлежит к одной или нескольким строкам кода. Уведомлениями о новых запросах и рецензиях возможно управлять, в том числе с помощью почтовых сообщений. Интрефейс программы достаточно удобен и понятен, представляет собой хорошо сделанный инструмент. Рецензентов возможно добавлять и управлять ими.
Просмотр diff-ов читабелен, имеется подсветка синтаксиса и изменений в коде. Реализован подход pre-commit-review (изменения рецензируются до того, как попадают в version control) и подход post-commit-review (изменения сначала попадают в version conrol, а затем рецензируются). Таким образом в Review Board workflow рецензирования построено добротно.
Установка Review Board не занимает много времени. Программа работает с различными системами контроля версий. База данных возможна как postgres, так и mysql. Review Board умеет получать данные из LDAP.
Установка Review Board:
Открываем терминал, команды выполняем под root или с помощью sudo. Обновляем систему:
# apt-get update
# apt-get upgrade
Установим необходимые зависимости, а также пакеты, необходимые для поддержки системы контроля версий:
# apt-get -y install python-setuptools python-dev python-mysqldb memcached patch libjpeg-dev
# easy_install pip
# apt-get -y install cvs git-core subversion python-svn
Установим Review Board:
# pip install ReviewBoard
Далее установим mysql и сконфигурируем базу данных (при установке mysql-server необходимо будет ввести пароль для пользователя root базы данных mysql):
# apt-get -y install mysql-server
Добавляем в конфигурационный файл MySQL настройки utf8:
# nano /etc/mysql/my.cnf
Прописываем:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
Стартуем сервис mysql, добавляем mysql для автоматического запуска при старте системы:
# systemctl start mysql.service
# systemctl enable mysql.service
Запустим настройку сервера через mysql_secure_installation:
# mysql_secure_installation
Вводим пароль для MySQL пользователя root, затем на вопрос об изменении пароля отвечаем - n, далее на все вопросы - y.
Затем создаем базу данных и пользователя для Review Board:
# mysql -u root -p
Выполняем следующие команды:
CREATE DATABASE rb;
CREATE USER 'rbu'@'localhost' IDENTIFIED BY 'Password_rb';
GRANT ALL PRIVILEGES ON rb.* TO 'rbu'@'localhost';
FLUSH PRIVILEGES;
exit
Где:
rb - база данных;
rbu - пользователь базы данных;
Password_rb - пароль;
Далее создаем Review Board site:
# apt-get install apache2
# rb-site install /var/www/rb.sigro.ru
Заполняем:
Domain Name: rb.sigro.ru #Your actual domain
Root Path [/]: #Press enter to use default
Database Type: 1 #Enter 1 for MySQL
Database Name [reviewboard]: rb #Your database name
Database Server [localhost]: #Press enter to use default
Database Username: rbu #Your database username
Database Password: #Your database password
Memcache Server [localhost:11211]: #Press enter to use default
Username [admin]: adminrb #Provide Administrator account username
Password: #Provide Administrator account password
E-Mail Address: Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. #Provide Administrator email
Company/Organization Name (optional) : sigro # Company/Organization
Allow us to collect support data? n
Применяем права и создаем символические ссылки:
# chown -R www-data:www-data /var/www/reviews.example.net
# cp /var/www/rb.sigro.ru/conf/apache-wsgi.conf /etc/apache2/sites-available/rb.sigro.ru.conf
# ln -s /etc/apache2/sites-available/rb.sigro.ru.conf /etc/apache2/sites-enabled/rb.sigro.ru.conf
Запускаем сервисы Memcached и Apache и добавляем их в автозагрузку:
# systemctl start memcached.service
# systemctl enable memcached.service
# systemctl start apache2.service
# systemctl enable apache2.service
Устанавливаем mod-wgsi:
# aptitude install libapache2-mod-wsgi
Прописываем в dns сервере (в данном случае) для прямой зоны:
rb IN A 192.168.91.10
и для обратной зоны:
10 PTR rb.sigro.ru.
Перечитываем файл конфигурации dns сервера:
# /etc/init.d/bind9 reload
Запускаем в браузере Review Board (в данном случае набираем rb.sigro.ru). В результате откроется окно программы Review Board, где вводим логин и пароль администратора.
Посмотреть весь процесс установки можно здесь: