Я пытаюсь настроить общую систему аутентификации на сервере сборки. У нас есть несколько Maven проектов, который объявляет, как развертывание должно быть сделано в отношении различных групп, которые мы (каждая команда имеет свой собственный пользовательский аутентификации/пароль):Аутентификация сервера Maven в качестве свойств профиля
<profile>
<id>release-profile</id>
<distributionManagement>
<repository>
<id>rep-releases</id>
<name>rep-releases</name>
<url>http://somewhere-releases</url>
</repository>
<snapshotRepository>
<id>rep-snapshots</id>
<name>rep-snapshots</name>
<url>http://somewhere-snapshots</url>
</snapshotRepository>
</distributionManagement>
</profile>
Тогда я объявляю в settings.xml при авторизации объявленных сервера следующим образом:
<servers>
<server>
<id>rep-releases</id>
<username>${release.user.name}</username>
<password>${release.user.password}</password>
</server>
<server>
<id>rep-snapshots</id>
<username>${release.user.name}</username>
<password>${release.user.password}</password>
</server>
</servers>
Наконец, в зависимости от проектов, которые я хочу, чтобы развернуть у меня есть несколько профилей, определенными в settings.xml сервера сборки:
<profile>
<id>dep-team1</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<release.user.name>team1-user</release.user.name>
<release.user.password>team1-password</release.user.password>
</properties>
</profile>
Проблема заключается в том, что при выполнении Deploy проекта я получил ошибку аутентификации (HTTP 401), как следующее:
Error deploying artifact: Failed to transfer file: http://......./my-project-0.2-20090423.123247-3.pom. Return code is: 401
Если я изменяю проверку подлинности сервера, заменив свойства с пользователем/паролем команда, все работает нормально.
Не теги < серверы > < сервер > принимает значения как свойства?
Как другие устанавливают свою систему сборки, чтобы достичь того же?
Благодарим за помощь.
Edit: Я использую Hudson, решение для меня может быть установить несколько раз Maven2 и продублированы настройки (кроме пользователя/пароль) для каждой команды и связать каждый проект с хорошей установки Maven. Должен признаться, что это решение не очаровывает меня ...
Вы правы Брайан, самый простой способ добиться того, что мы хотим, - это, вероятно, предоставить полные права на сборку, по крайней мере, для доставки всех репозиториев моментальных снимков. Каждая команда сохраняет свои собственные полномочия для выпуска. Думаю, мы пойдем так. Благодарю. –