每次任何 svn 用户提交代码时,Jenkins 都能检测到吗?

can Jenkins detect everytime any svn-user commit the code?

每次任何 svn 用户提交代码时,Jenkins 都能检测到吗? 我想知道 Jenkins 每次提交 svn-user 时,有什么办法或 jenkins 插件吗? 现在我在 Jenkins 中使用 svn update cmd 来更新 svn。

您可以按照以下任一方法获得您想要的

  1. 轮询 SVN 以获取来自 Jenkins 的更改
  2. 配置 SVN(使用 post 提交挂钩)以在 Jenkins 上触发构建

对于轮询,转到作业属性 ->“构建触发器”标题和 select“轮询 SCM 计划”。您可以指定希望 SVN 轮询存储库的频率。您可以将此值保持低至 1 分钟。

对于 SVN post 提交挂钩,请查看 Subversion Plugin Documentation。这在“Post-commit hook”部分有详细解释。请仔细阅读本节,因为它解释了所有选项,包括 what/when 以在触发器脚本的 jenkins REST 调用中包含哪些 svn 信息。

如果你的构建依赖于多个存储库(比如每个解决方案都在它自己的存储库中),那么 SVN post commit 是最好的选择,因为你将能够从所有存储库 post 通过 post 提交挂钩脚本中的 providing/tweaking 参数提交。

顺便说一句,我能理解为什么有人不赞成你的问题。我强烈建议您在问题中添加完整信息,并表明您在 post 提出问题之前已经自己进行了研究。 Whosebug 帮助部分中关于“jenkins trigger build on svn commit”的快速 google 引导我进入 this Whosebug question as the first result which precisely explains what you are trying to do. The question (and it's answers) are very old (asked 8 years back, active till last year) but every bit of information is still very helpful for this question. "How do I ask a good question”,进一步解释了 Whosebug 社区在每个问题中的一般期望。