несанкционированный доступ на артефакт, даже если учетные данные включены - PullRequest
17 голосов
/ 15 июля 2011

Я пытаюсь развернуть zip-файл в удаленном внутреннем репозитории maven (артефакт, интегрированный в hudson).

pom.xml

...
<modelVersion>4.0.0</modelVersion>

<groupId>mygroupId</groupId>
<artifactId>myartifactid</artifactId>   

<version>1.0-SNAPSHOT</version>

<distributionManagement>
    <repository>
      <id>hudson</id>
      <name>hudson-releases</name>
      <url>http://url to repo</url>
    </repository>
  </distributionManagement>
...

settings.xml

<servers>
<server>
  <id>hudson</id>
  <username>username</username>
  <password>password</password>
</server>
</servers> 

развертывание maven

 mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip  -Dpackaging=zip  -DpomFile=pom.xml

maven завершает работу с кодом возврата 401.

Просмотр журналы артефакта

 2011-07-15 13:52:50,090 [DENIED DEPLOY] libs-release-local:somefile.zip for anonymous/192.168.220.146.

Я не понимаю, почему maven не использует предоставленные учетные данные.Что я здесь не так делаю?

Ответы [ 6 ]

13 голосов
/ 08 марта 2013

Совет для решения проблемы с открытым текстом пароля:

  • Доступ и вход в Artifactory.
  • После входа в систему щелкните свое имя пользователя в правом верхнем углу экрана.
  • Введите свой пароль, затем нажмите кнопку разблокировки, чтобы включить зашифрованный пароль.
  • Скопируйте тег, который будет отображаться в нижней части экрана, и вставьте его в файл settings.xml. Если вы предпочитаете просто скопировать пароль, убедитесь, что он в точности совпадает с показанным ниже тегом, включая "\" в начале пароля.
  • Не забудьте настроить тег с идентификатором вашего сервера, определенным в теге, в вашем POM.xml
  • Нажмите на кнопку Обновить и готово! Проверьте, все ли будет хорошо при публикации следующего проекта.
3 голосов
/ 23 августа 2011

Хадсон, скорее всего, кеширует settings.xml. Вы можете попытаться перезагрузить конфигурацию с диска, используя этот url http://your -hudson-url: 8081 / hudson / reload или перезапустить контейнер, на котором работает Hudson. Работал на меня.

2 голосов
/ 01 февраля 2017

Не забудьте проверить, что то, что вы надеваете <distributionManagement> на вашем pom.xml , соответствует тому, что находится на тегах вашего .m2 / settings.xml.

2 голосов
/ 26 июля 2011

По какой-то причине использование файла POM не сработало. Так что я должен был сделать это из командной строки.

mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip  -Dpackaging=zip  -DartifactId=aid -DgroupId=groupId -DrepositoryId=repId -Dversion=1.0-SNAPSHOT

Я до сих пор не знаю, почему это сработало. Кроме того, мне не нужно было изменять settings.xml по сравнению с тем, что я перечислил ранее.

EDIT

Кроме того, на главной вкладке в артефакте вы можете получить настройки maven, нажав «Настройки Maven-> Generate Settings».

1 голос
/ 17 июля 2011

Вы публикуете версию снимка, но вы не указали тег snapshotRepository в разделе distributionManagement вашего POM.Или попробуйте развернуть нормальную версию и посмотрите, работает ли она

0 голосов
/ 17 июля 2011

Maven не настроен на использование вытесняющей проверки подлинности по умолчанию, и у него возникают некоторые проблемы при вызове.

Вы можете попытаться настроить Mven's HttpClient Wagon для выполнения вытесняющей проверки подлинности (http://maven.apache.org/guides/mini/guide-http-settings.html),, хотя мне редко удавалось заставить ее работатьдолжным образом.Так как вы используете Jenkins \ Hudson, вы можете взглянуть на плагин Jenkins \ Hudson - Artifactory:

...