2009-08-14 12 views
17

Ich habe ein Artefactory Repo, das hinter der Standardauthentifizierung sitzt. Wie würde ich die settings.xml für den Zugriff konfigurieren?Zugriff auf ein Artefactory/Maven Repo, das basic-auth benötigt

<mirrors> 
    <mirror> 
     <id>artifactory</id> 
     <mirrorOf>*</mirrorOf> 
     <url>https://myserver.example.com/artifactory/repo</url> 
     <name>Artifactory</name> 
    </mirror> 
</mirrors> 
<servers> 
    <!-- 
     This server configuration gives your personal username/password for 
     artifactory. Note that the server id must match that given in the 
     mirrors section. 
    --> 
    <server> 
     <id>Artifactory</id> 
     <username>someArtifactoryUser</username> 
     <password>someArtifactoryPassword</password> 
    </server> 

So Server-Tag ist die Benutzeranmeldeinformationen für den artifactory Benutzer, aber ich brauche auch einen anderen Benutzer/Passwort zur Verfügung zu stellen, durch die basic-auth zu bekommen. Wo würde ich das hinstellen?!?

Antwort

14

Der Benutzername und das Passwort gehen in den Servereinstellungen wie Sie sie haben. Ich denke, Ihr Problem ist, dass Sie den Server über seinen Namen (A rtifactory) statt seiner ID (a rtifactory) angegeben haben.

Ich würde empfehlen, dass Sie die Servereinstellungen in Ihren Benutzereinstellungen und nicht in den globalen Einstellungen vornehmen. Sie können das Passwort auch in Maven 2.1.0+ verschlüsseln, siehe mini guide für Details.

Update: Welche Version von Artifactory verwenden Sie? Es gibt a discussion und entsprechende issue, dass Basic-Auth fehlschlägt. Dies wurde anscheinend in 2.0.7 und 2.1.0 behoben.

Aus der Diskussion scheint es, dass ein workaround die Eigenschaften über die Befehlszeile, z.

-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dproxy.username=... -Dhttp.password=... 

Update: Um Ihre Maven Installation einer Verbindung über eine Firewall zu lassen, müssen Sie den Proxy-Abschnitt des settings.xml konfigurieren, um diese question für einige Hinweise, dass auf zu tun.


Update2: Es gibt zusätzliche Eigenschaften, die Sie in den Server Einstellungen festlegen können, finden Sie diese blog für einige Hintergrundinformationen. Ich habe nicht die Möglichkeit zu testen, dies aber aus dem Blog und die damit verbundenen http wagon javadoc, wie es scheint habe man authenticationInfo auf den Servereinstellungen festlegen, etwa wie folgt:

<server> 
    <id>Artifactory</id> 
    <username>someArtifactoryUser</username> 
    <password>someArtifactoryPassword</password> 
    <configuration> 
    <authenticationInfo> 
     <userName>auth-user</userName> 
     <password>auth-pass</password> 
    </authenticationInfo> 
    </configuration> 
</server> 
+0

Danke für den Maven-Verschlüsselungstipp ... Der Name/ID-Konflikt ist jedoch nicht das Problem. Das Problem besteht immer noch darin, dass ich über zwei Gruppen von Anmeldeinformationen verfüge, mit denen ich arbeiten kann. – harschware

+0

Die Proxy-Einstellungen gelten möglicherweise für die Konfiguration meines Maven, um zum Server zu gelangen. Ich habe versucht, sie an Ort und Stelle zu bringen, habe aber kein Glück. Die Probleme, die Sie oben angeführt haben, scheinen Artifactory dazu zu bringen, über eine Firewall zu kommunizieren. In meinem Fall versuche ich, Maven dazu zu bringen, mit einem Artefakt zu kommunizieren, das sich hinter basic-auth befindet. Ich werde weiterhin Proxy-Einstellungen versuchen und Updates posten. Danke. – harschware

+0

Ich habe das gefunden: http://maven.apache.org/guides/mini/guide-proxies.html – harschware

4

konnte ich die folgende Konfiguration verwenden, um Aktivieren Sie die HTTP-Standardauthentifizierung - indem Sie manuell the necessary HTTP headers schreiben. In meiner Situation habe ich es benutzt, um auf die Build-Artefakte auf meiner Go server als Armen-Mann-Inszenierungs-Repository zuzugreifen.

<server> 
     <id>go</id> 
     <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <!-- Base64-encoded "guest:guest" --> 
        <value>Basic Z3Vlc3Q6Z3Vlc3Q=</value> 
       </property> 
      </httpHeaders> 
     </configuration> 
    </server> 
+0

Der normale Weg (Benutzername und Passwort ohne Konfigurationselement) scheint nicht zu funktionieren, wenn das Passwort leer ist, tut dies! – Davio

2

Tip das Problem mit dem Klartext-Passwort zu lösen:

  • Zugang und Anmeldung in Artifactory.
  • Sobald Sie angemeldet sind, klicken Sie auf Ihren Benutzernamen in der oberen rechten Ecke des Bildschirms.
  • Geben Sie Ihr Passwort ein und klicken Sie dann auf die Schaltfläche "Unlock", um das verschlüsselte Passwort zu aktivieren.
  • Kopieren Sie das Tag, das auf dem unteren Teil des Bildschirms angezeigt wird, und fügen Sie es in die Datei settings.xml ein. Wenn Sie nur das Passwort kopieren möchten, stellen Sie sicher, dass es genau dem unten angezeigten Tag entspricht, einschließlich des "\" am Anfang des Passworts.
  • Denken Sie daran, das Tag mit der ID des Servers, definiert in dem Tag, in Ihrem POM.xml
  • zu ändern Klicken Sie auf die Schaltfläche Update und fertig!Überprüfen Sie, ob alles bei der Veröffentlichung des nächsten Projekts gut ankommt.
+0

Können Sie aus der Seite, die Sie verlinkt haben, die relevanten Teile extrahieren und direkt in Ihre Antwort schreiben? Das ist bei StackOverflow üblich. – Simon

+0

Simom, ich habe den Post bearbeitet. Vielen Dank. – Pmt

Verwandte Themen