Как использовать GnuPG в Jenkins для публикации артефактов в Sonatype Nexus
Я хочу отправить проект Maven в Sonatype Oss для публикации артефакта в Maven Central. Два важных файла для отправки проекта: root_of_project/pom.xml и admin/.m2/ settings.xml.
В тегах pom.xml Nexus:
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
<dependencies>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.15</version>
</dependency>
</dependencies>
</plugin>
В тегах settings.xml для Nexus и GpG:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>ossrh</id>
<username>Nexus_name</username>
<password>Nexus_password</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>gpg_passphrase</gpg.passphrase>
</properties>
</profile>
</profiles>
Когда я запускаю команду в корневом каталоге моего проекта: mvn clean Deploy, через несколько секунд GnuPG открывает всплывающее окно, куда мне нужно вставить свою парольную фразу GPG , и нажать кнопку «ОК».
Публикация артефакта в Sonatype Nexus завершена.
вопрос в том, как я могу настроить свой проект в Jenkins для автоматической публикации артефакта в Nexus без ручной вставки кодовой фразы GPG при запуске сборки Jenkins?