Korzystam z Travis-CI, aby zapewnić ciągłe kompilacje integracyjne dla kilku projektów Java open source, nad którymi pracuję.Tłumienie podpisu GPG dla opartych na Maven kompilacji ciągłej integracji (Travis CI)
Zwykle działa to płynnie, ale mam problem, gdy POM określa podpisywanie GPG, np.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
To powoduje, że Travis budować na niepowodzenie - podobno dlatego, że nie posiada hasło dostępne podczas pracy mvn install
. Zobacz przykład this build.
Jaki jest najlepszy sposób na skonfigurowanie Maven i/lub Travis, aby pominąć podpisywanie GPG dla testów testowych CI, ale nadal wykonuj podpisywanie GPG, kiedy robię poprawną wersję wydania?
Zakładając, że korzystasz z wtyczki wydania: zamiast aktywacji za pomocą flagi możesz dodać ten profil do ustawienia wtyczki 'releaseProfiles'. – ankon
Alternatywnie można wprowadzić nazwę właściwości aktywacji '$ {env.TRAVIS}' o wartości "true". Dzieje się tak dlatego, że kontenery Travis-CI są odwirowane przy użyciu różnych wbudowanych zmiennych środowiskowych (w tym na przykład 'TRAVIS = true' i' CI = true'), a Maven może je wykryć za pomocą składni maven dla zmiennych środowiskowych '$ {env .} '. Takie podejście ma tę zaletę, że nie wymaga dodawania właściwości systemowej do każdego polecenia Maven, ale nadal pozwala na pozorowanie aktywacji profilu i automatyczną aktywację profilu podczas kompilacji CI. –