Wenn ich mein Projekt veröffentliche, möchte ich den Quellcode mit einem größeren Personenkreis teilen, als ich es normalerweise während der Entwicklung tue. Der Code wird über ein Git-Repository freigegeben. Zu diesem Zweck habe ich Folgendes verwendet:
- entferntes öffentliches Repository - veröffentlichter Code wird hier jede Woche oder so veröffentlicht ( http://example.com/public )
- entferntes privates Repository - nicht veröffentlichter Code wird hierher verschoben, mehr als täglich ( http://example.com/private )
In meinem lokalen Git-Repository habe ich die folgenden Remotes definiert:
origin http://example.com/private
public http://example.com/public
Ich versuche gerade, das maven-release-plugin so zu konfigurieren, dass es die Versionierung der Builds, das Tagging und das Pushen von Code in das öffentliche Repository verwaltet. In meiner pom.xml, habe ich die <scm/> wie folgt aufgeführt:
<scm><connection>scm:git:http://example.com/public</connection></scm>
(Das Entfernen dieser Zeile wird dazu führen, dass mvn release:prepare fehlschlägt)
Wenn Sie jedoch
mvn release:clean release:prepare release:perform
Maven ruft auf
git push origin tagname
statt an die in der POM angegebene URL zu pushen.
Die Fragen lauten also:
- Bewährte Verfahren: Sollte ich nur tagging und committing in meinem privaten Repo (Ursprung), und pushen auf öffentliche manuell?
- Kann ich Maven dazu bringen, zu dem von mir gewählten Repository zu pushen, anstatt auf den Ursprung zu setzen? Ich dachte, dass dies durch die Anforderung des <connection/>-Elements in <scm/> impliziert wurde.