我正在尝试使用gradle release-plugin来“发布”我的项目
该插件首先检查我的工作副本是否干净,以便仅发布正确版本的内容。
这在我的本地机器上工作得很好。但是当我在 Jenkins 的工作中尝试同样的事情时,构建失败并抱怨工作场所中的各种东西发生了变化。我决定詹金斯在内部使用了很多东西并将其添加到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 工作的以下设置可能是相关的:
Checkout/merge to local branch (optional)
设置为主。如果没有此设置,发布插件会抱怨不在分支上Clean after checkout
当前已选中,但选中/取消选中它没有任何区别Make gradlew executable
已检查,至少对我来说听起来像是一个可能的原因,但取消选中它会使构建失败,因为 gradlew 不可执行