Зачем добавлять управление распространением в POM, если Дженкинс уже знает об этом - PullRequest
0 голосов
/ 20 января 2020

Почти то, что говорится в названии.

Я пытаюсь создать CI / CD для WSO2. Следуя этому руководству: https://docs.wso2.com/display/IntegrationCloud/Implement+Continuous+Integration+and+Deployment+with+Jenkins

В нем ничего не сказано о добавлении DistributionManagement в POM, и даже имеется специальный раздел конфигурации POM, но, тем не менее, Дженкинс бросает

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project HelloWorld: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]

Итак, если у jenkins уже есть URL-адрес хранилища, ветвь и github, а у POM есть цель развертывания, которую следует развернуть по URL-адресу:

1), почему я нужно управление дистрибуцией?

2) Могу ли я указать его в любом месте, например, в моей файловой системе, или мне нужно указать его в облаке, в котором я действительно хочу развернуть?

1 Ответ

0 голосов
/ 20 января 2020

в соответствии с документацией maven вы можете загрузить свой артефакт сборки непосредственно на сервер с помощью maven с помощью тега distributionManagement

https://maven.apache.org/pom.html

важной частью является URL тег. Вы можете использовать scp или sftp (возможно, другие протоколы)

scp: // user:password@serverUrl/var/some/directory

Я бы порекомендовал локально протестировать команду deploy, а когда вы уверены, что она работает, используйте jenkins.


Если вы хотите создать современное задание jenkins, я бы порекомендовал использовать конвейер jenkins, выполнить maven с помощью команды sh и publi sh на сервере, используя s sh шаги, предоставляемые s sh -steps-plugin

...