Ich versuche, mein Maven-Projekt mit Standard Maven Release-Plugin und Bitbucket-Pipelines zu lösen. Ich habe mein eigenes Docker-Image mit einem privaten Schlüssel erstellt, der mit einer Passphrase geschützt ist. Mein Bitbucket-Konto ermöglicht Commits von diesem Andock-Image, und die Bitbucket-Pipeline kann beim Erstellen eine private Passphrase über die Umgebungsvariable eingeben.So übergeben Sie die Passphrase an den privaten Schlüssel beim Freigeben mit dem Standard-Maven-Plugin
Das Problem ist, dass Maven Release-Plugin alles ignoriert und fragt nach Passphrase, die ein inakzeptabler manueller Schritt ist.
Mein settings.xml in /root/.m2 sieht aus wie
<server>
<id>bitbucket.org</id>
<privateKey>/root/.ssh/id_rsa</privateKey>
<passphrase>${env.BB_PIPELINES_MAVEN_3_3_9_JDK_8_SSH_PASSPHRASE</passphrase>
</server>
ich die neueste Version und scm Plugins verwenden, bzw. 2.5.3 und 1.9.5
In meinem pom.xml gibt es Servereigenschaft
<project.scm.id>bitbucket.org</project.scm.id>
und meine scm URLs sind wie
<scm>
<url>https://bitbucket.org/user/repo</url>
<developerConnection>scm:git:[email protected]:user/repo</developerConnection
<connection>scm:git:[email protected]:user/repo</connection>
</scm>
Ich habe versucht, ssh-agent zu verwenden, und es scheint zu funktionieren, aber sieht aus wie ssh-agent nicht erlaubt, Passphrase in der Befehlszeile auch zu übergeben.
Irgendwelche Ideen wie kann es gelöst werden?