На прошлой работе мы использовали Perforce, на теперешней- Clear Case и Subversion. Ну, Clear Case- это просто чудовищный монстр, а Subversion как-то странно смотрится после Perforce. К хорошему быстро привыкаешь, и я решил поставить Perforce дома. Лицензия на его использование не нужна, если число пользователей не больше двух, а рабочих пространств (workspace)- не более пяти. Должно хватить. Если в будущем не хватит, перейду на git.
Установка довольно подробно описана в Perforce System Administrator's Guide и прочих документах. Пример установки можно найти здесь, хотя он и не без ошибок. Я придерживался именно его, корректируя ключевые места по официальной документации. Вот что получилось.
Скачиваем Perforce с офф-сайта, нам понадабятся и сервер (p4d), и клиент (p4). Я также скачал грфические клиенты p4v для Windows и Linux (они пригодятся позже), а потом скопировал p4 и p4d на сервер через самбу.
Часть 1. Установка
Установка выполняется из-под рута. Дальше все команды начинаются с sudo, сейчас имеет смысл переключиться на root с помощью sudo su.
1. Переходим в директорию, куда скопировали p4 и p4d. Делаем их исполняемыми и переносим в директорию /usr/local/bin:
$ sudo chmod +x p4 p4d
$ sudo mv p4d /usr/local/bin
$ sudo mv p4 /usr/local/bin
2. Создаем суперпользователя perforce и группу p4admin. Суперпользователь perforce должен быть в группе p4admin:
$ sudo adduser perforce
$ sudo addgroup p4admin
$ sudo usermod -g p4admin perforce
3. Разрешаем суперпользователю perforce запускать sudo.
$ sudo visudo
Добавляем в конец файла строку
perforce ALL = ALL
4. Создаем директорию для хранения журнала и лога perforce:
$ sudo mkdir /var/log/perforce
5. Создаем директорию для хранения всей базы. Желательно держать базу на отдельном винте на случай, если винт сбойнет, тогда базу можно будет восстановить из журнала. У меня винт только один, так что без изысков:
$ sudo mkdir /perforce_depot
6. Изменяем права на исполняемые файлы и только что созданные директории. Нам нужно, чтобы пользователь perforce имел все права, а остальные- только на чтение и исполнение:
$ sudo chown perforce:p4admin /usr/local/bin/p4d
$ sudo chown perforce:p4admin /usr/local/bin/p4
$ sudo chown perforce:p4admin /perforce_depot
$ sudo chown perforce:p4admin /var/log/perforce
$ sudo chmod 755 /usr/local/bin/p4d
$ sudo chmod 755 /usr/local/bin/p4
$ sudo chmod 755 /perforce_depot
$ sudo chmod 755 /var/log/perforce
7. Записываем наши настройки в /etc/profile:
$ sudo vim /etc/profile
Добавляем в конец этого файла:
# Perforce Settings
export P4JOURNAL=/var/log/perforce/journal
export P4LOG=/var/log/perforce/p4err
export P4PORT=localhost:1666
export P4ROOT=/perforce_depot
export P4USER=perforce
8. Заставляем Perforce стартовать вместе со всей системой:
$ sudo apt-get install daemon
$ cd /etc/init.d
$ sudo vim perforce
Копируем туда вот эти строки:
#!/bin/sh -e
export P4JOURNAL=/var/log/perforce/journal
export P4LOG=/var/log/perforce/p4err
export P4ROOT=/perforce_depot
export P4PORT=1666
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
. /lib/lsb/init-functions
p4start="p4d -d"
p4stop="p4 admin stop"
p4user=perforce
case "$1" in
start)
log_action_begin_msg "Starting Perforce Server"
daemon -u $p4user $p4start;
;;
stop)
log_action_begin_msg "Stopping Perforce Server"
daemon -u $p4user $p4stop;
;;
restart)
stop
start
;;
*)
echo "Usage: /etc/init.d/perforce (start|stop|restart)"
exit 1
;;
esac
exit 0
Изменяем права на файл perforce. Замечу, что этот файл дожен принадлежать root:
$ sudo chmod 755 perforce
Часть 2. Первый запуск.
Загружаемся как пользователь perforce и выполняем следующие команды.
1. Загружаем настройки:
$ sudo source /etc/profile
2. Запускаем сервер в бэкграунде (не из-под root):
$ p4d &
3. Создаем журнал:
$ p4d -jc
4. Устанавливаем права доступа для пользователей (я этого не делал, т.к. я- один-единственный реальный пользователь)- редактируем Perforce Protection Specification:
$ p4 protect
5. Создаем клента и сохраняем файл:
$ p4 client
6. Проверяем наши установки:
$ p4 info
7. Останавливаем сервер Perforce:
$ p4 admin stop
Осталось только перегрузить сервер.
среда, 12 августа 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий