На днях мы с командой столкнулись с тем, что Bitbucket стал для нас слишком мал, а ориентация на что-то вроде корпоративной безопасности в любом случае рано или поздно потребует перехода от частных репозиториев, расположенных за пределами компании, к наша собственная инфраструктура.
Покопавшись в Интернете, было решено остановиться на готовом решении SCM - менеджера по ряду причин.
- Простота установки
- Простое администрирование через веб-интерфейс.
- Поддержка GIT и SVN (важно, поскольку используются оба)
SCM был установлен на Tomcat, так как на нем также работает Redmine
Сама установка и настройка ниже под катом:
Настройка служебной программы
- Установите JRE (требуется для Apache Tomcat)
su apt-get install openjdk-6-jre
- Загрузите последнюю версию Apache Tomcat отсюда (Необходим для работы сервисов SCM-менеджера)
cd /tmp wget file http://www.sai.msu.su/apache/tomcat/tomcat-7/v7.0.41/bin/apache-tomcat-7.0.41.tar.gz
- Распакуйте его, удалите мусор и закиньте папку Tomcat в /etc.
tar xzf apache-tomcat-7.0.41.tar.gz mv apache-tomcat-7.0.41 tomcat7 rm apache-tomcat-7.0.41.tar.gz mv /tmp/tomcat7/ /etc
- Создадим группу, пользователя для Tomcat и назначим права на каталог
groupadd tomcat7 useradd -g tomcat7 -d /etc/tomcat7 tomcat7 usermod -G www-data tomcat7 chown -R tomcat7:tomcat7 /etc/tomcat7
- Добавим Tomcat в автозагрузку (Обратите внимание на переменную JAVA_HOME в скрипте — у вас может не быть amd64, это зависит от архитектуры сервера)
nano /etc/init.d/tomcat
#!/bin/bash CATALINA_HOME=/etc/tomcat7; export CATALINA_HOME JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64; export JAVA_HOME TOMCAT_OWNER=tomcat7; export TOMCAT_OWNER JAVA_OPTS="-Xms128M -Xmx128M"; export JAVA_OPTS start() { echo -n "Starting Tomcat: " su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh } stop() { echo -n "Stopping Tomcat: " su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: tomcat {start|stop|restart}" exit esac
chmod +x /etc/tomcat7/bin/*.
sh chmod +x /etc/init.d/tomcat
- Запускаем и проверяем сервер
/etc/init.d/tomcat start
http://***.***.
***.
178:8080
- Чтобы получить доступ к интерфейсу Tomcat к файлу
nano /etc/tomcat7/conf/tomcat-users.xml
добавить строку внутри ярлык<user name="admin" password="password" roles="manager-gui,manager-status,manager-script,manager-jmx" />
- Переносим сервис Tomcat на 80 порт Правильно, но сложно
nano /etc/tomcat7/conf/server.xml
Изменение строк<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
Установите authbind для передачи его на порты ниже 1024.apt-get install authbind
touch /etc/authbind/byport/80 chmod 500 /etc/authbind/byport/80 chown tomcat7 /etc/authbind/byport/80
В файлnano /etc/tomcat7/bin/setenv.sh
записыватьCATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
и измените последнюю строку в файлеnano /etc/tomcat7/bin/startup.sh
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
- Не совсем верно
/sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 /sbin/service iptables save
- Перезагрузить Томкэт
/etc/init.d/tomcat restart
установка СКМ
- Скачать SCM-менеджер отсюда
cd /tmp wget file http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.32/scm-webapp-1.32.war
- Переместите его в папку веб-приложений Tomcat.
mv scm-webapp-1.32.war scm.war mv scm.war /etc/tomcat7/webapps
- Ждём пока приложение развернётся, проверяем http://***.
***.
***.
178/scm/
В разделе Пользователи добавляем свои
Создайте свой собственный репозиторий
В будущем он будет доступен по этой ссылке.
***.
***.
178/scm/git/tglync, который мы будем клонировать в будущем.
Репозитории легко импортируются, а также есть множество готовых плагинов, с помощью которых можно настроить SCM под себя, например, добавить уведомления.
Плагины также подключаются через веб-интерфейс.
При желании веб-клиент SCM также можно настроить извне.
Всем спасибо, надеюсь было не бесполезно.
Теги: #Debian #scm-manager #git #svn #manual #git
-
Новые Идеи На Базе Iphone :)
19 Oct, 24 -
Открыть Вебинар C#: Асинхронность И Ожидание
19 Oct, 24 -
Бетельгейзе Снова Собирается «Чихнуть»
19 Oct, 24 -
Msi Обновляет Wind Top
19 Oct, 24 -
Позитивное Мышление У Вороны
19 Oct, 24 -
Избранное: Ссылки По Реверс-Инжинирингу
19 Oct, 24