4 Stimmen

Verwendung von maven-release-plugin zum Taggen und Übertragen an Nicht-Ursprungsorte

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:

  1. Bewährte Verfahren: Sollte ich nur tagging und committing in meinem privaten Repo (Ursprung), und pushen auf öffentliche manuell?
  2. 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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X