Utilizzando Maven-release-plugin per tag e si impegnano a non-origine
-
26-09-2019 - |
Domanda
Quando faccio un rilascio del mio progetto, voglio condividere la fonte con un gruppo più ampio di persone di quanto faccio di solito durante lo sviluppo. Il codice è condiviso tramite un repository Git. Per fare questo, ho usato il seguente:
- repository remoto pubblica - ha rilasciato il codice è spinto qui, ogni settimana o giù di lì ( http://example.com/public )
- repository remoto privata - codice non-rilascio è spinto qui, più di tutti i giorni ( http://example.com/private )
Nel mio repository git locale, ho i seguenti telecomandi definito:
origin http://example.com/private
public http://example.com/public
Attualmente sto cercando di configurare il rilascio-plugin Maven per gestire versioni delle generazioni, e di gestire la codifica e spingendo di codice al repository pubblico. Nel mio pom.xml, ho elencato la
<scm><connection>scm:git:http://example.com/public</connection></scm>
(La rimozione di questa linea farà sì che il rilascio mvn: preparare a fallire)
Tuttavia, quando si chiama
mvn release:clean release:prepare release:perform
Maven chiama
git push origin tagname
piuttosto che spingere all'URL specificato nel POM.
Quindi le domande sono:
- Le migliori pratiche:? Devo solo essere la codifica e impegnandosi nel mio repo privato (origine), e spingendo manualmente pubblico
- Posso fare Maven spinta per il repository che ho scelto, piuttosto che inadempiente alle origini? Ho sentito questo era implicita l'esigenza della in
.
Soluzione
Il rilascio quando il repository scm.connection è diverso da quello di origine è fissato nella versione 2.0 di Maven-release-plugin (o il plugin git associati). Per passare a questa versione, ho aggiunto il seguente al mio POM:
<project>
...
<build>
<plugins>
...
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
</plugin>
...
</plugins>
</build>
...
</project>
Per inciso, Maven stava raccogliendo Maven-release-plugin versione 2.0-beta-9 come più recente di 2,0.