The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
Когда я выпускаю новую версию jcabi-aspects, библиотеки с открытым исходным кодом на Java, в Maven Central, это занимает 30 секунд моего времени. Может быть, даже меньше. Недавно я выпустил версию 0.17.2. Вы можете посмотреть, как это произошло, в GitHub issue #80:
Как видите, я дал команду Rultor, и он выпустил новую версию в Maven central. Я ничего больше не делал.
Теперь посмотрим, как вы можете сделать то же самое. Как настроить ваш проект, чтобы выпуск новой версии в Maven Central занимал всего несколько секунд вашего времени.
Кстати, я предполагаю, что вы разместили свой проект в GitHub. Если нет, весь этот учебник не будет работать. Если вы до сих пор не на GitHub, я настоятельно рекомендую перейти туда.
Убедитесь, что ваш pom.xml
содержит все элементы, требуемые Sonatype, описанные в Central Sync Requirements. Мы развернем на Sonatype, и они синхронизируют все артефакты JAR (и не только) с Maven Central.
Создайте учетную запись в Sonatype JIRA и создайте тикет, с просьбой одобрить ваш groupId
. Этот OSSRH Guide подробнее объясняет этот шаг.
Создайте GPG-ключ и распространите его, как объясняется в статье Работа с PGP-подписями.
По завершении этого шага у вас должно быть два файла: pubring.gpg
и secring.gpg
.
Создайте settings.xml
рядом с двумя файлами .gpg
, созданными на предыдущем шаге.
В этом примере 9A105525
- это идентификатор вашего открытого ключа, а my-secret
- это парольная фраза, которую вы использовали при генерации ключей.
Теперь зашифруйте эти три файла с помощью удаленного rultor:
Вместо me/test
вам следует использовать название вашего проекта на GitHub.
Вы получите три новых файла: pubring.gpg.asc
, secring.gpg.asc
и settings.xml.asc
. Добавьте их в корневую директорию вашего проекта, сделайте коммит и отправьте изменения. Файлы содержат вашу секретную информацию, но только сервер Rultor может их расшифровать.
Я бы порекомендовал использовать jcabi-parent как родительский pom для вашего проекта. Это позволит избежать многих дополнительных шагов. Если вы уже используете jcabi-parent, пропустите этот шаг.
Однако, если вы не используете jcabi-parent, вам следует добавить эти два репозитория в ваш pom.xml
:
Configure GPG Plugin
Снова рекомендую использовать jcabi-parent, который настраивает этот плагин автоматически. Если вы уже его используете, пропустите этот шаг.
В противном случае, добавьте этот плагин в ваш pom.xml
:
Configure Versions Plugin
Еще раз рекомендую использовать http://parent.jcabi.com. Он настраивает все необходимые плагины “из коробки”. Если вы уже используете его, пропустите этот шаг.
В противном случае, добавьте этот плагин в свой pom.xml
:
Configure Sonatype Plugin
Да, вы правы, http://parent.jcabi.com тоже поможет вам здесь. Если вы уже используете его, пропустите этот шаг.
В противном случае, добавьте эти четыре плагина в ваш pom.xml
:
Create Rultor Configuration
Создайте файл .rultor.yml
в корневом каталоге вашего проекта (страница справки подробно объясняет этот формат).
Вы можете сравнить свой файл с живой конфигурацией Rultor для jcabi-aspects.
Теперь пришло время узнать, как все это работает. Создайте новый тикет в трекере проблем GitHub и разместите что-то вроде этого в него (подробнее читайте о командах Rultor).
Вы получите ответ через несколько секунд. Остальное выполнит Rultor.
Кстати, если что-то не работает так, как я объяснил, не стесняйтесь отправить тикет в трекер проблем Rultor. Я постараюсь вам помочь.
Да, забыл упомянуть, Rultor также выполняет две важные функции. Во-первых, он создает релиз на GitHub с соответствующим описанием. Во-вторых, он публикует твит о релизе, который вы можете ретвитнуть, чтобы объявить своим подписчикам. Оба функционала очень удобны для меня. Например:
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 14:45