Я пытаюсь настроить общую систему аутентификации на сервере сборки.
У нас есть несколько проектов 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>
Проблема в том, что при развертывании проекта я получил ошибку аутентификации (HTTP 401), такую как:
Error deploying artifact: Failed to transfer file: http://......./my-project-0.2-20090423.123247-3.pom. Return code is: 401
Если я изменю аутентификацию сервера, заменив свойства именем пользователя и паролем группы, все будет работать нормально.
Разве теги не принимают значения в качестве свойств?
Как другие настраивают свою систему сборки для достижения того же?
Спасибо за вашу помощь.
Редактировать: Я использую hudson, решение для меня может быть установить несколько раз maven2 и иметь дублированные настройки (кроме пользователя / пароля) для каждой команды и привязать каждый проект к хорошей установке maven. Я должен признать, что это решение не очаровывает меня ...