2016-03-23 3 views
4

Ich habe Probleme mit BitBucket über HTTPS über die Maven JGitFlow Plugin authentifizieren, durchlaufen git-bash unter Windows.Maven JGitFlow Plugin Authentifizierung für HTTPS

Die Fehlermeldung lautet: "Authentifizierung ist erforderlich, aber kein CredentialsProvider wurde registriert". Die Vorschläge, die ich gesehen habe, scheinen jedoch davon auszugehen, dass ich als Entwickler auf den JGit-Code selbst zugreifen kann.

Ich hatte keine Probleme bei der Ausführung von Git-Befehle direkt (ich verwende git-credential-winstore). Auch wenn ich meinen Benutzernamen und mein Passwort explizit in der POM.XML-Datei in der POM angegeben habe, funktionierte es auch.

Allerdings möchte ich nicht, dass mein Passwort in mein BitBucket-Repository hochgeladen wird, und ich suche nach einer Möglichkeit für das JGitFlow-Plug-in die Authentifizierung auf die gleiche Weise wie GIT selbst tut.

Was mache ich falsch, und wie kann ich das beheben?

Antwort

6

Die folgende JGitFlow Maven Plugin-Konfiguration funktioniert

<plugin> 
    <groupId>external.atlassian.jgitflow</groupId> 
    <artifactId>jgitflow-maven-plugin</artifactId> 
    <version>1.0-m5.1</version> 
    <configuration> 
     <username>${git.user}</username> 
     <password>${git.password}</password> 
    </configuration> 
</plugin> 

es von der Kommandozeile aufrufen mit dem Benutzernamen und Passwort als Java-Systemeigenschaften, das heißt mit -Dgit.user=<user> und -Dgit.password=<password>, z.B.

mvn [email protected] -Dgit.password = secret jgitflow: Release-Start

Hinweis: Das Plugin sollte wirklich mit einem Maven CredentialsProvider aktualisiert werden, die in der Lage ist Abrufen der Anmeldeinformationen von settings.xml und/oder eines Git-Anmeldeinformationen-Parsers, der den gleichen Mechanismus wie git in der Befehlszeile verwendet.

+0

Dies ist eine clevere Lösung, an die ich nicht gedacht habe. Würde dies jedoch jeden dazu bringen, der an meinem Projekt arbeiten möchte (auch wenn sie eine andere Form von Anmeldeinformationen verwenden)? – Yiftach

+0

Ja, jedes Mal, wenn sie das Release-Plugin verwenden, müssen sie Anmeldeinformationen angeben. Es kann sein, dass sie nur benötigt werden, wenn Sie eine Verbindung mit dem Remote-Repository herstellen, die ich nicht getestet habe. Unser Anwendungsfall ist verpfuscht, da wir auch die Anmeldeinformationen an einen Proxy weiterleiten müssen ... –

+0

Während das die Situation verbessert (meine Referenzen werden nicht mit den Leuten geteilt, mit denen ich zusammenarbeite), zwingt dies meine Art, Dinge zu tun (so es scheint nicht gut geeignet für öffentliche Repositories, zum Beispiel). – Yiftach