Ben gördüm: Avoid gpg signing prompt when using Maven release plugin ama maven çok eski bir sürümü için ve ben 3.2.2 kullanıyorum, bu yüzden aynı çözüm geçerli değildir.Ortam değişkeni veya komut satırı özelliğinden bir parola kullanmak için maven-gpg-plugin'i nasıl edinebilirim?
Temel olarak, komut satırındaki özelliklerin kombinasyonu, pom.xml'deki özellikler veya ortam değişkenleri ne olursa olsun, aracı iletişim kutusunu açmaktan kaçınmak için maven gpg eklentisini alamıyorum.
Güvenlik nedenleriyle parolaları düz metinde settings.xml dosyasına dahil etmemeye karar verdik çünkü bu çok kötü bir fikir. Ve şifreli maven malzemelerini kullanarak ana anahtarı sadece farklı bir düz metin dosyasına taşır.
Yazılım sürümleri: Ben pom.xml'Bu özelliklerini kullanma
mvn -Dgpg.passphrase='lolpassphrase'
denedi
$ gpg --version
gpg (GnuPG) 2.1.2
libgcrypt 1.6.2
$ mvn --version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T08:51:42-05:00)
ortamdan almak için: Sonra
<properties>
<gpg.keyname>E7C89BBB</gpg.keyname>
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
</properties>
ve:
GPG_PASSPHRASE='lolpassphrase' mvn install
DÜZENLEME: Anlaşılan benim gpg ajan Ben Orada pom.xml özelliklerinde gerçek parolayı :(
<properties>
<gpg.keyname>E7C89BBB</gpg.keyname>
<gpg.passphrase><![CDATA[lolcomplicatedpassphrase]]></gpg.passphrase>
</properties>
ayarlarsanız GPG ajanı beni hala isteyecektir olacak şekilde alma ve bana yalan söylediğini şifreyi bir yerde düz metin olarak tutmadan bunu yapmanın bir yolu olmalı, ancak bu cevabı bulmak için doğru googları kullanamayacağım.