gradle release-pluginを使用してプロジェクトを「リリース」しようとしています
プラグインは、適切にバージョン管理されたものだけがリリースされるように、作業コピーがクリーンであるかどうかをチェックすることから始めます。
これは、私のローカル マシンで問題なく動作します。しかし、ジェンキンスの仕事で同じことをしようとすると、職場でさまざまなものが変更されてビルドが失敗します。多くのものがジェンキンによって内部的に使用されているだけであると判断し、次のように追加しましたgitignore
。
caches/
native/
wrapper/
しかし、それはまたgradlew
変更されたと見なします:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':checkCommitNeeded'.
> You have uncommitted files:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
M gradlew
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jenkins がそのファイルを変更するのはなぜですか?
Jenkins ジョブの次の設定が関連する可能性があると思います。
Checkout/merge to local branch (optional)
マスターに設定されています。この設定がないと、リリース プラグインはブランチ上にないことについて不平を言いますClean after checkout
現在チェックされていますが、チェック/チェックを外しても違いはありませんでしたMake gradlew executable
がチェックされており、少なくとも私には考えられる原因のように思えますが、gradlew が実行可能でないため、チェックを外すとビルドが失敗します