2014-02-13 4 views
1

Возможно, вопрос задан более сотни раз, но я не нашел его с функцией поиска.maven автоматически развертывает артефакты на Archiva?

Хорошо, у нас есть сервер CI, работающий с Jenkins и Archiva. Построение нашего кода с maven. Но теперь наш ИТ-отдел изменил конфигурацию прокси для сервера CI. Он не может выйти в интернет.

Когда я использую новый артефакт и создаю его локально, mvn загружает это и сохраняет его в локальном репо.

Но когда я передаю исходный код в SVN Jenkins, это вызвано отсутствием подключения к Интернету.

Итак, есть способ автоматического развертывания артефактов и maven-плагинов в Archiva, когда я строю свои проекты локально с maven?

ответ

1

использовать mvn clean deploy, который будет использоваться в Archiva. Вы должны правильно настроить раздел distributionManagement в своем pom. См http://archiva.apache.org/docs/1.4-M4/userguide/deploy.html

+0

ОК, это правильно, но есть ли способ развернуть также любые сторонние артефакты автоматически? – MichaBa

0

Я создал работу Дженкинс, который будет выполнять скрипт, чтобы попросить Maven развернуть наш частный артефакт в Archiva

Предпосылки

В вашем .m2 файле/settings.xml добавить свой сервер, то есть

<server> 
    <id>archiva.release</id> 
    <username>admin</username> 
    <password>123456</password> 
</server> 

Deploy 3 участника артефакты в Archiva хранилище скрипт

  #!/bin/bash 

      rm_host=localhost  # archiva server address 
      rm_port=8080   # archiva port 
      major_version=1  # 
      minor_version=0  # 
      version_build=1  # 
      repository=private  # your repository id in archiva 

      mvn deploy:deploy-file 
       -Dfile=myApp.jar 
       -DgroupId=com.company 
       -DartifactId=myApp 
       -Dversion=${major_version}.${minor_version}.${version_build} 
       -Dpackaging=jar 
       -Durl=http://${rm_host}:${rm_port}/repository/${repository}/ -DrepositoryId=archiva.release 
Смежные вопросы