Pull to refresh

Установка Atlassian STASH, грабли при установке в CentOS

Git *
Tutorial

Введение



В связи с тем, что не многие, как оказалось, знают про 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 откопал занятное замечание:
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, есть такая статься, о том как его добавить. Если кратко, то:
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: внёс некоторые коррективы в статью, добавил описание.
Tags:
Hubs:
Total votes 12: ↑6 and ↓6 0
Views 12K
Comments Comments 4