Где я могу установить учетные данные Nexus для конвейера DevOps Azure в проекте Maven, размещенном в Bitbucket? - PullRequest
1 голос
/ 16 января 2020

Я пытаюсь создать простой конвейер для проекта Java, который использует Maven. .Jar зависимости моего проекта все размещены на онлайн-Nexus, который защищен паролем. Источники, которые я создаю, размещены на Bitbucket.

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

Это мой результат задачи maven:

Downloaded from central: xxx (34 kB at 1.3 MB/s)
Downloading from nexus: xxx
Downloading from central: xxx
Downloading from nexus: xxx
Downloading from central: xxx
Downloading from nexus: xxx
Downloading from central: xxx 949 B

Downloaded from central: xxx (949 B at 45 kB/s)
Downloading from nexus: xxx
Downloading from central: xxx
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.979 s
[INFO] Finished at: 2020-01-16T19:17:43Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project webconfigurable: Could not resolve dependencies for project com.fenplast:webconfigurable:jar:1.3.0: Failed to collect dependencies at org.jscience:com.netappsid.org.jscience:jar:3.2.0: Failed to read artifact descriptor for org.jscience:com.netappsid.org.jscience:jar:3.2.0: Could not transfer artifact org.jscience:com.netappsid.org.jscience:pom:3.2.0 from/to nexus (https://repository.fenplast.net/repository/public): Authentication failed for https://repository.fenplast.net/repository/public/org/jscience/com.netappsid.org.jscience/3.2.0/com.netappsid.org.jscience-3.2.0.pom 401 Unauthorized -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
The process '/usr/share/apache-maven-3.6.3/bin/mvn' failed with exit code 1
Could not retrieve code analysis results - Maven run failed.
No test result files matching /home/vsts/work/1/s/**/surefire-reports/TEST-*.xml were found, so publishing JUnit test results is being skipped.
##[error]Build failed.
Finishing: Maven 

В нем говорится, что аутентификация не пройдена и не авторизована. Когда я запускаю сборку с моей собственной машины локально, она работает, потому что у меня есть файл настроек. xml в папке .m2 с учетными данными, но как мне заставить его работать из Azure DevOps?

1 Ответ

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

Вы можете попробовать с помощью задачи Maven Authenticate добавить maven служебное соединение для подключения к внешним хранилищам maven. Ниже приведены шаги для справки.

Go до Настройки проекта -> Трубопроводы -> Нажмите Сервисные соединения - -> Нажмите новое подключение к услуге -> выберите Maven -> Введите необходимую информацию для своего репозитория Nexus.

enter image description here

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

Поскольку вам требуется аутентификация только для внешних репозиториев Nexus Maven, вы можете оставить Feeds поле пустое. И затем нажмите ниже выделенный раскрывающийся список, чтобы выбрать подключение службы maven для Nexus, которое вы создали на предыдущих этапах.

enter image description here

Когда вы завершаете sh выше действия , ваша задача maven должна иметь возможность загружать JAR-зависимости из nexus.

...