У меня есть сборка maven, которая пытается использовать maven-gpg-plugin. Если у меня есть пароль открытого текста в settings.xml, все работает. Если я вставляю зашифрованный пароль, я получаю ошибку «плохой пароль». Подробности моих шагов ниже, но любые идеи о том, что я делаю неправильно? Кроме того, как побочный вопрос, я удивлен, что несколько запусков «mvn -ep» дают разные результаты. Я бы подумал, что способен расшифровать, тот же результат должен быть возвращен. Мне было бы любопытно объяснить это.Пытается зашифровать пароль gpg в settings.xml
Во-первых, я сгенерировал и распределил мою пару ключей, следуя these instructions from sonotype. Затем я обновил файл ~/.m2/settings.xml с моим паролем, как explained by apache. Наконец, я построил. Он отлично работает. Время шифрования.
После encryption advice from apache Я создал главный пароль (maven), поместил его в settings-security.xml, зашифровал пароль gpg и поместил его в settings.xml. (Я попытался это различными способами, в том числе, используя тот же пароль на каждом этапе.) Теперь, когда я пытаюсь построить я получаю ошибки:
gpg: no default secret key: Bad passphrase
gpg: signing failed: Bad passphrase
Если изменить пароль обратно в открытый текст в settings.xml , все работает снова. Если я добавлю «-X» к моей сборке maven, я вижу, что он находит settings-security.xml. (На самом деле, я могу видеть только тогда, когда он не находит его, если удалить файл.)
gpg --gen-key
<choose defaults of RSA/RSA, 2048, and no expiration. Enter in values for name and email.>
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys <key>
mvn clean gpg:sign
mvn -emp <password>
<put encrypted password into ~/.m2/settings-security.xml>
mvn -ep <password>
<put encrypted password into ~/.m2/settings.xml>
mvn clean gpg:sign
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>example.test</artifactId>
<version>develop-SNAPSHOT</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
settings.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<settings>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>{pQ...lV}</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
настройки-security.xml:
<settingsSecurity>
<master>{KC...jm}</master>
</settingsSecurity>