Начал разбираться как заставить девелоперскую версию джиры работать на PostgreSQL вместо стандартной HSQLDB. В итоге очень долго искал подходящее руководство в интернете и смог найти полноценный гайд для mysql примерно через 2-3 часа поисков и параллельных попыток справиться с задачей самостоятельно вручную.
Ниже выкладываю итоговую последовательность действий, с помощью которой у меня получилось успешно сделать миграцию.
Подготовка системы
- На первом шаге вы создаете плагин через команду sdk atlas-create-jira-plugin
- В первый раз просто запускаете девелоперскую версию через atlas-run. При этом создается hsqldb версия базы, а также папка target, в которой находится папка jira/home.
- Выполняется первичная настройка (как создание проектов, тикетов и т.п.). Это те данные, которые не должны будут теряться после выполнения команды atlas-clean, чтобы они успешно пересоздавались.
- После этого сделайте бэкап системы: (System -> Import & Export -> Backup System).
- Выключите jira.
Настройка конфигов базы PostgreSQL
- Обновите файл target/jira/dbconfig.xml, заменив настройки hsqldb базы на настройки PostgreSQL:
<?xml version=»1.0″ encoding=»UTF-8″?><jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>postgres72</database-type>
<schema-name>public</schema-name>
<jdbc-datasource>
<url>jdbc:postgresql://localhost:5432/jiradb</url>
<driver-class>org.postgresql.Driver</driver-class>
<username>postgres</username>
<password>postgres</password>
<pool-min-size>20</pool-min-size>
<pool-max-size>20</pool-max-size>
<pool-max-wait>30000</pool-max-wait>
<pool-max-idle>20</pool-max-idle>
<pool-remove-abandoned>true</pool-remove-abandoned>
<pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
</jdbc-datasource>
</jira-database-config>Конечно, необходимо обновить настройки подключения, выделенные жирным, чтобы они соответствовали настройке вашей базы.
И да, указанная конфигурация отлично работает на версии PostgreSQL 9.4, хотя о поддержке этой версии в официальной документации ничего не сказано. - Не удаляйте файлы базы database.* (это файлы hsql). Maven будет к ним обращаться когда ваша база postgres будет пустой. Просто оставьте их. После того как база postgres заполнится данными они не будут нужны.
- Запустите atlas-create-home-zip. При этом создается файл generated-test-resources.zip в папке target/jira.
- Скопируйте этот файл в удобное место, например в корневую папку, где лежит pom.xml
- Для того чтобы jira загружала необходимые данные — внесите изменения в pom.xml в секцию configuration плагина maven-jira-plugin. Необходимо добавить выделенную жирным строчку.
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-jira-plugin</artifactId>
<version>${amps.version}</version>
<extensions>true</extensions>
<configuration>
<productVersion>${jira.version}</productVersion>
<productDataVersion>${jira.version}</productDataVersion>
<productDataPath>${basedir}/generated-test-resources.zip</productDataPath>
Получайте удовольствие
- Запустите atlas-run. В логе вы увидите много информационных сообщений о том, что не найдены таблицы.
- После загрузки системы — откройте урл с джирой, указанный в консоли после запуска.
- Вас перекинет на установку jira. На втором шаге выберите «импортировать существующие данные».
- Скопируйте файл бэкапа, полученный при подготовке системы в папку import. (по дефолту он будет лежать в export).
- Запустите импорт. Это решит проблему с лицензией (она импортируется вместе с данными)
- После завершения импорта вы можете спокойно заходить в jira как и раньше.
- Проверьте что все импортировалось правильно, открывайте пиво и начинайте разработку плагина!
Будьте счастливы!
Запускайте atlas-create-home-zip заново, если вы хотите использовать последние настройки jira.
Добавить комментарий