Введение
В связи с тем, что не многие, как оказалось, знают про Stash немного о нём. На сайте производителя даётся такое описание:
Интерфейс Stash позволяет с легкостью выполнять задачи по администрированию и управлению. Stash хранит ваши растущие Git репозитории в безопасности в пределах зоны действия файервола. Добавляйте пользователей и группы пользователей, устанавливайте детализированный правила прямо из UI (пользовательского интерфейса). Создавайте и управляйте репозиториями в рамках Stash. Быть в курсе всех командных дел и вывести их в единый список – дело всего пары минут.
Грубо говорят Stash от Atlassian — это ваш локальный ГитХАБ. Особая прелесть этого инструмента заключается в том, что он очень тесно интегрирован с той же JIRA от Atlassian, что обеспечивает гораздо более удобную ревизию кода по выполняемой задаче и единый интерфейс для этого.
Установка
Установка указанного продукта достаточно проста. Но я всё таки нашёл для себя грабли.
Отчасти это было связано с тем, что ставил я на CentOS. С этим дистрибутивом я до недавнего времени опыта почти не имел.
Фактически данная статья это вольный перевод Getting Started руководства с сайта Atlassian в разделе установки в Linux.
Пригодится начинающим.
Примечание:
Все команды ниже вводятся в коммандной строке под пользователем root
Данный вариант установки рекомендован для тестовой эксплуатации! Для запуска сервера в промышленную эксплуатацию необходимо выполнить ряд дополнительных мер. Это всё расписано в статье по установке.
Позже постараюсь дополнить статью порядком перевода сервера в боевой режим
Вначале нам нужно проверить наличие нужных версий дополнительного ПО. Тут мы можем увидеть поддерживаемые версии.
1. Java
Сначала нам предлагается проверить версию Java установленную на вашем сервере
java -version
Грабля №1: Версия JAVA
Поставил OpenJDK версия 1.7.0 (java-1.7.0-openjdk.x86_64), всё было отлично, за исключением того, что сколько я не ждал доступ к web-странице отсутствовал. Просто отображалась белая пустая страница. Как оказалось лучше всего ставить Java от Оракл — спасибо vsb за рекомендацию, такие же рекомендации нашёл где то на форумах, когда решал эту проблему. Чуть более развёрнуто под спойлером.
Решение Грабли №1
Пришлось снести OpenJDK и поставить OracleJDK. Его скачиваем отсюда.
Через волшебный Google откопал занятное замечание:
Правда у меня то всё стартануло с OpenJDK и никак не руганулось, но всё равно не заработало. Странненько в общем.
Через волшебный Google откопал занятное замечание:
Stash Fails to Startup after installation when Running on OpenJDK
Symptoms
The following exception is reported when starting up Stash:
A fatal error has occurred
The following problem occurred which prevents Atlassian Stash from starting correctly:
OpenJDK 64-Bit Server VM is an unsupported JVM.
Cause
OpenJDK is not a supported environment for Stash.
Resolution
Switch to the latest version of Oracle JDK to help resolve the problem.
Правда у меня то всё стартануло с OpenJDK и никак не руганулось, но всё равно не заработало. Странненько в общем.
2. Git
Так же проверяем версию установленного пакета:
git --version
Вот тут меня ждала Грабля №2.
В CentOs 6.5 в base репозитории находится git 1.7.1, а минимальное требование: 1.7.6+
Всё было бы отлично, но тут сразу сошлись все факторы моего малого опыта работы с CentOS и yum. До этого весь мой опыт администрирования был сосредоточен на Debian дистрибутивах. Если для вас это не проблема можете под спойлер не заглядывать.
решение Грабли №2
Необходимо добавить дополнительный репозиторий rpmforge, есть такая статься, о том как его добавить. Если кратко, то:
Везде где я находил рекомендации по его добавлению указано, что необходимо перевести rpmforge в enable.
Сделал.
и ничего не обновилось.
git так и остался старой версии.
Решение оказалось простым, но искал я его, почему то, долго.
достаточно активировать репозиторий [rpmforge-extras] в файле /etc/yum.repos.d/rpmforge.repo
Выставляем enable=1, и вот удача:
rpm --import apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-0.5.3-1.el6.rf.*.rpm
rpm -i rpmforge-release-0.5.3-1.el6.rf.*.rpm
Везде где я находил рекомендации по его добавлению указано, что необходимо перевести rpmforge в enable.
Сделал.
yum update
и ничего не обновилось.
yum install git
git так и остался старой версии.
Решение оказалось простым, но искал я его, почему то, долго.
достаточно активировать репозиторий [rpmforge-extras] в файле /etc/yum.repos.d/rpmforge.repo
Выставляем enable=1, и вот удача:
# git --version
git version 1.7.12.4
3.Perl
С этим в CentOS 6.5 оказалось всё в порядке.
# perl --version
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
минимальные требования: >= 5.8.8
4.Stash
Теперь ставим сам Stash.
Качаем архив дистрибутивом с этой страницы. И разворачиваем архив в желаемое место установки. Например в /usr/local/stash Это у нас будет \<Stash installation directory\>
Перед запуском нам необходимо поправить файл \<Stash installation directory\>/bin/setenv.sh
Раскомментируем параметр STASH_HOME и укажем место для хранения данных STASH
например
STASH_HOME="/home/stash-home-data"
!!! ВАЖНО!!!
Разработчики советуют не помещать данные в папку \<Stash installation directory\>
Это связано с тем, что когда потребуется обновить STASH, то данные, в папке \<Stash installation directory\> , будут перезаписаны.
Всё, установка завершена. Теперь просто запускаем stash.
перейдите в папку в которую установлен stash (это у нас \<Stash installation directory\>)
bin/start-stash.sh
Если всё запустилось корректно, то мы увидим
# bin/start-stash.sh
To run Stash in the foreground, start the server with start-stash.sh -fg
Starting Atlassian Stash as current user
Detecting JVM PermGen support…
PermGen switch is supported. Setting to 256m\n
Using STASH_HOME: /home/stash-home-data
Using CATALINA_BASE: /usr/local/etc/stash/atlassian-stash-2.10.1
Using CATALINA_HOME: /usr/local/etc/stash/atlassian-stash-2.10.1
Using CATALINA_TMPDIR: /usr/local/etc/stash/atlassian-stash-2.10.1/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/etc/stash/atlassian-stash-2.10.1/bin/bootstrap.jar:/usr/local/etc/stash/atlassian-stash-2.10.1/bin/tomcat-juli.jar
Using CATALINA_PID: /usr/local/etc/stash/atlassian-stash-2.10.1/work/catalina.pid
Success! You can now use Stash at the following address:
localhost:7990/
If you cannot access Stash at the above location within 3 minutes, or encounter any other issues starting or stopping Atlassian Stash, please see the troubleshooting guide at:
confluence.atlassian.com/display/STASHKB/Troubleshooting+Installation
Как и указано, доступ к web интерфейсу появляется не сразу, а в течении нескольких минут. Это связано с подготовкой данных.
Далее мы открываем http://<ip(dns)_вашего_сервера>:7990/ и следуем через мастер установки. Этот процесс я описывать не буду, т.к. там всё элементарно.
PS: Обсуждение статьи и замечания жду в комментариях.
UPD: внёс некоторые коррективы в статью, добавил описание.