Ich versuche, ein gemeinsames Authentifizierungssystem auf einem Build-Server einzurichten. Wir mehrere Maven Projekte, die erklärt, wie die Bereitstellung sollten die verschiedenen Teams in Bezug auf durchgeführt werden, die wir haben (jedes Team seine eigene Authentifizierung Benutzer/Passwort hat):Maven Server-Authentifizierung als Profileigenschaften
<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>
Dann erkläre ich in der settings.xml die Authentifikation zu den angegebenen Server, wie folgend:
<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>
Schließlich abhängig von den Projekten möchte ich ich habe mehrere Profile in der settings.xml des Build-Server definiert implementieren:
<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>
Ich habe einen Authentifizierungsfehler (HTTP 401) wie folgt
Das Problem ist, dass, wenn ein deploy des Projekts zu tun:
Error deploying artifact: Failed to transfer file: http://......./my-project-0.2-20090423.123247-3.pom. Return code is: 401
Wenn ich durch den Austausch der Eigenschaften mit dem Benutzer/Passwort, um die Server-Authentifizierung ändern von das Team, alles funktioniert gut.
Nicht die Tags <Server> <Server> Werte als Eigenschaften akzeptieren?
Wie richten andere ihr Build-System ein, um dasselbe zu erreichen?
Danke für Ihre Hilfe.
Edit: Ich benutze Hudson, eine Lösung für mich kann mehrere Male maven2 installieren und doppelte Einstellungen (außer Benutzer/Passwort) für jedes Team und binden jedes Projekt an die gute maven Installation. Ich muss zugeben, dass diese Lösung mich nicht verzaubert ...
Sie haben Recht, Brian, der einfachste Weg, um das zu erreichen, was wir wollen, ist wahrscheinlich, die vollen Rechte an die Build-Maschine zu geben, um zumindest alle Snapshots-Repos auszuliefern. Jedes Team behält seine eigenen Anmeldeinformationen, um die Releases zu erstellen. Ich denke, wir werden diesen Weg gehen. Vielen Dank. –