私が取り組んでいるいくつかのJavaオープンソースプロジェクトの継続的な統合ビルドを提供するのにTravis-CIを使用しています。Mavenベースの継続的統合ビルドのGPG署名を無効にする(Travis CI)
通常これはスムーズに機能しますが、POMがGPG署名を指定すると問題が発生します。
<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>
これはトラヴィスが失敗する原因となる構築 - それはmvn install
の実行中に利用できるパスフレーズを持っていないので、明らかに。例については、this buildを参照してください。
CIテストビルドのGPG署名をスキップするようにMavenやTravisを設定するのに、適切なリリースビルドを実行してもGPG署名を実行する最良の方法はありますか?
リリースプラグインを使用していると仮定します。フラグを介してアクティブ化を使用する代わりに、そのプロファイルを 'releaseProfiles'プラグイン設定に追加するだけで済みます。 – ankon
また、活性化プロパティー名 '$ {env.TRAVIS}'を 'true'の値にすることもできます。これはTravis-CIコンテナが様々なビルトイン環境変数(例えばTRAVIS = true'と 'CI = true'を含む)でスピンアップされ、Mavenが環境変数' $ {env 。} 'この方法では、すべてのMavenコマンドにシステムプロパティを追加する必要はありませんが、引き続きプロファイルのアクティブ化を模擬し、CIビルド中にプロファイルの自動アクティベーションを行うことができます。 –