Как установить YouTrack на свой собственный сервер в Digital Ocean
У наших западных коллег существует присказка “If You Can’t Measure It, You Can’t Manage It”. Оставляя за рамками данной заметки справедливость этого утверждения, я, тем не менее, не могу не согласиться с тем, что для эффективной работы необходим эффективный инструментарий для отслеживания этой самой работы. Именно поэтому сегодня мы поговорим о том, как воспользоваться одним из таких инструментов - YouTrack, - а конкретнее, как установить его на свой собственный виртуальный сервер на примере дроплета в Digital Ocean.
Почему YouTrack?
История моего знакомства с YouTrack началась с того, что моей жене понадобился инструмент для отслеживания задач, требующих решения в рамках одного из её больших учебных проектов. Иными словами, желательно было иметь свой собственный issue-трекер, с созданием задач, назначением исполнителей, отслеживанием времени, потраченного на задачу и т.п. В результате небольшого исследования альтернатив были найдены три главных потенциальных решения: JIRA, RedMine и YouTrack.
JIRA отпала сразу по причине дороговизны и, надо признать, моей стойкой к ней неприязни. Я имею “удовольствие” пользоваться этой системой на работе. Восторга, достаточного для оплаты $10 в месяц, она у меня не вызывает.
RedMine бесплатен и, кажется, даже open source. Однако по опыту моего использования этого issue-трекера на одной из предыдущих работ, пользоваться RedMine как-то не хочется - выглядит он в стиле “привет из 90-ых”, да и работает местами не очевидно.
Оставался YouTrack. Главными плюсами для нас послужили бесплатность для команды до 10 человек, а также возможность установить на свой собственный сервер. В теории, можно воспользоваться бесплатным тарифом для команды до 10 человек, и создать свой трекер прямо на сайте YouTrack, но в этом случае, он будет публично доступен для всего интернета, его смогут индексировать поисковики, что для нас не подходит совершенно.
И, да, YouTrack - продукт от JetBrains. Если Вы фанат JetBrains, имейте это в виду.
Системные требования
Для установки YouTrack 6.5, о котором мы будем говорить дальше, требуется, в принципе, всего ничего:
- (Виртуальный) сервер с Ubuntu 14.04+.
- JRE 1.7+, установленная на этом сервере.
Для меня самым простым способом создать виртуальный сервер является Digital Ocean, который я настоятельно рекомендую за быстроту, простоту и хорошую техподдержку.
В случае Digital Ocean, я рекомендую выбирать дроплет хотя бы с 2 Гб оперативной памяти. В противном случае, придётся танцевать с бубном, как это делал я, когда впервые устанавливал YouTrack. Дело в том, что YouTrack работает на Java, а Java, как известно, очень любит память. Упустив это из виду, я долго пытался понять, почему YouTrack падает в процессе настройки.
Однако, забегая вперёд, могу сказать, что на самом дешёвом $5/мес-дроплете с 512 Мб памяти запустить YouTrack мне всё же удалось, правда, не без ухищрений.
Процесс создания дроплета в Digital Ocean достаточно прост и быстр, далее я сосредоточусь на установке самого YouTrack на созданный дроплет, предполагая, что у читателя уже есть виртуальный сервер, на который он может залогиниться по ssh (в идеале, не с помощью root-пользователя, а другого пользователя с sudo-полномочиями).
Установка YouTrack
0. Создаём в Digital Ocean дроплет с Ubuntu 14.04.
1. Заходим по ssh на наш сервер.
2. Обновляем систему:
4. На сообщение о том, что не установлены языковые пакеты, вводим:
5. Перезагружаем сервер
6. Ждём несколько секунд (спасибо SSD-дискам Digial Ocean), заходим на сервер по ssh.
7. Устанавливаем unzip, он нам пригодится для распаковки архива YouTrack, который мы загрузим далее.
8. Устанавливаем JRE:
9. Создаём директорию для установки YouTrack:
10. Переходим в созданную директорию:
11. Загружаем zip-архив YouTrack с сервера JetBrains (указана версия, актуальная на момент написания заметки):
12. Распаковываем архив:
13. Запускаем процесс установки YouTrack с помощью скрипта youtrack.sh
, находящегося в поддиректории bin
:
Параметр --no-browser
используется потому, что мы устанавливаем YouTrack не на локальной машине, а на удалённой. На локальной машине без использования этого параметра установщик запустит окно браузера, в котором необходимо произвести дальнейшие настройки. Поскольку мы залогинены на сервер через ssh вариант с браузером нам не подходит, отсюда и --no-browser
. После запуска скрипта Вы увидете вывод в таком духе:
В данном случае, services
- имя моего сервера. Для доступа к настройке необходимо в любом поддерживаемом браузере ввести http://server-ip:8080
, где server-ip
необходимо заменить IP адресом Вашего сервера. Для случая установки на локальной машине это будет 127.0.0.1
или localhost
.
14. Открыв указанный на предыдущем шаге адрес в браузере, Вы увидете следующую картину:
15. Нажимаем на Set up
, на следующем экране оставляем все настройки по умолчанию:
16. На экране User Management
оставляем включённым Use Built-in Hub
, вводим имя и пароль первого админа системы. Учтите, что этот админ засчитывается в те 10 учётных записей, которые можно создать в бесплатной версии системы.
17. На следующем экране можно ввести информацию о лицензии, в новой установке все поля заполняются автоматически.
Ограничения лицензии можно посмотреть нажав на License Limitations
:
Как видно из этой картинки, до 2099 года об обновлении лицензии можно не задумываться :)
18. После нажатия на кнопку Finish
отобразится экран со статусом запуска системы:
После настройки всех трёх компонентов на экране отобразится экран входа в YouTrack. Вы можете использовать логин и пароль администратора, заданные на предыдущих шагах.
У меня на минимальном дроплете с 512 Мб оперативной памяти приложение падало на этом этапе, браузер переставал возвращать картинку. Чтобы починить такое поведение, мне пришлось создать swap-файл в моём дроплете (по умолчанию дроплеты Digital Ocean не имеют swap-файла. Это сделано для того, чтобы продлить жизнь SSD-накопителей, на которых работают дроплеты), а также добавить некоторые параметры в файл конфигурации.
Если у Вас всё заработало сразу, без каких-либо падений (что, скорее всего, и будет на любом дроплете с 1-2Гб оперативной памяти), то поздравляю Вас, установка и первичная настройка YouTrack завершена.
Если же Вы использовали дроплет с 512 Мб памяти и у вас всё упало и ничего не отображается, продолжайте читать дальше. По сути, нам необходимо будет сделать 3 вещи:
- Создать swap-файл.
- Изменить настройки запуска YouTrack.
- Перезапусть YouTrack.
Создаём swap-файл в Ubuntu 14.04
Подробно процедура добавления swap-файла описана в блоге Digital Ocean, я приведу минимальный набор действий для его включения.
1. Проверяем, не включен ли уже swap-файл:
Если в результате отображается пустая таблица в следующего вида, это означает, что swap-файл не настроен, читаем и следуем инструкциям дальше:
2. Swap-файл обычно рекомендуется создавать в удвоенном размере оперативной памяти, например, для дроплета с 512 Мб оперативной памяти, swap-файл должен быть, как минимум, 512 * 2 = 1024 Мб = 1 Гб. Создаём файл командой:
3. Настраиваем permissions swap-файла:
4. Далее вводим:
…а затем вводим:
5. Проверить результат создания и настройки swap-файла можно командой:
Теперь вместо пустой таблицы, как на шаге 1, должна отображаться таблица с созданным swap-файлом.
6. Для того, чтобы сделать swap-файл постоянным, чтобы он работал и после перезагрузки системы, добавляем его в fstab
:
В конец файла дописываем:
Сохраняем и закрываем файл. Мы закончили с настройкой swap-файла.
Редактируем параметры запуска YouTrack.
По сути, рекомендации из этого пункта сводятся к решению проблемы нехватки памяти, описанному в FAQ YouTrack. Для более детального описания происходящего рекомендую ознакомиться с инструкцией Задаём стартовые параметры Java на сайте JetBrains.
1. Идём в директорию настроек YouTrack:
2. Копируем файл youtrack.jvmoptions.dist
с именем youtrack.jvmoptions
:
3. Открываем файл youtrack.jvmoptions
:
…и дописываем в конец этого файла следующие строки:
Сохраняем и закрываем файл. Мы закончили с настройкой параметров запуска YouTrack.
Перезапускаем YouTrack.
1. Переходим в bin
директорию:
2. Запускаем YouTrack:
Далее процесс настройки в браузере аналогичен описанному выше.
Заключение
В результате описанных выше нехитрых процедур мы получили полностью работоспособную инсталляцию issue-трекера YouTrack на собственном виртуальном сервере в Digital Ocean. Пользуясь случаем, настоятельно рекомендую этого провайдера виртуального хостинга.