В этой статье представлено пошаговое руководство по публикации проекта maven с GitHub с использованием site-maven-plugin .
Предпосылки
- Репозиторий проекта на Github
- Java и Maven
- Знакомство с конфигурацией Maven
Создайте репозиторий для своего проекта maven на Github, если у вас его еще нет, и продвигайте свой проект maven. Этот метод будет использовать плагин site-maven для отправки артефактов на Github.
Этот подход не вызывает конфликтов с gh-страницами и другими ветвями, поскольку артефакты помещаются в ветку mvn-repo
вашего репозитория, каждый раз, когда выполняется команда mvn deploy
, будет опубликован новый артефакт сборки.
Во-первых, артефакт maven должен быть развернут во временном расположении в каталоге сборки/назначения. Добавьте в проект следующий репозиторий pom.xml:
internal.repo Temporary Staging Repository file://${project.build.directory}/mvn-repo
Добавьте конфигурацию плагина maven-deploy в свой pom.xml:
maven-deploy-plugin 2.8.2 internal.repo::default::file://${project.build.directory}/mvn-repo
После добавления вышеупомянутого репозитория и плагина в ваш pom.xml выполнить развертывание mvn
, репозиторий maven будет развернут в каталоге target/mvn-repo/
. Следующим шагом будет развертывание в ветке github mvn-repo
.
Настройте информацию об аутентификации github в ~/.m2/settings.xml
чтобы включить плагин site-maven, нажмите на github. если файл settings.xml не существует, его следует создать.
Существует несколько способов аутентификации github, добавьте одну из следующих конфигураций в свой ~/.m2/settings.xml
.
используя свое имя пользователя и пароль на github:
github GitHubLogin GitHubPassw0rd
использование ТОКЕН OAUTH2 :
github OAUTH2TOKEN
Затем добавьте следующее в свой pom.xml :
github
Последним шагом является настройка site-maven-плагина
для отправки вашего локального промежуточного репозитория целевого/mvn-репозитория/
в ваш удаленный mvn-репозиторий
филиал.
com.github.github site-maven-plugin 0.11 Maven artifacts for ${project.version} true ${project.build.directory}/mvn-repo refs/heads/mvn-repo **/* YOUR-REPOSITORY-NAME THE-REPOSITORY-OWNER site deploy
repositoryOwner значение – это родительское имя репозитория, если репозиторий принадлежит организации github, значением будет название организации, а если репозиторий принадлежит пользователю, значением будет имя пользователя например, для репозитория ключ-значение бд/ключ-значение-бд-java значение имени репозитория будет ключ-значение-бд-java
и значение владельца репозитория будет значение ключа db
.
Выполните развертывание mvn
, чтобы загрузить свой артефакт на github. Ветвь mvn-репо будет создана, если она не существует.
Посещение github.com в своем браузере выберите ветку mvn-repo и убедитесь, что все ваши двоичные файлы загружены.
Ура . Ваш проект maven теперь доступен для использования в других проектах.
Каждый раз, когда вы запускаете команду mvn clean deploy
в своем проекте, последние артефакты будут загружаться на github.
Другой проект maven, использующий ваш проект, может быть настроен для извлечения вашего артефакта из github. Добавьте следующий фрагмент в pom.xml файлы, которые зависят от вашего проекта.
YOUR.PROJECT.GROUPID ARTIFACT-ID VERSION
ARTIFACT-ID https://raw.github.com/REPOSITORYOWNER/REPOSITORY-NAME/mvn-repo/
После добавления свойств в pom.xml проект автоматически загрузит ваши банки репозитория maven с github.
Оригинал: “https://dev.to/iamthecarisma/hosting-a-maven-repository-on-github-site-maven-plugin-9ch”