是否可以选择监控Jenkins中的git存储库,但是在提交时不执行pull / clone / fetch?
我希望基于对存储库中指定分支的提交来触发构建作业,但我不希望Jenkins构建作业执行自动拉/克隆/获取。
答案 0 :(得分:3)
显然,没有办法轮询github存储库来启动Jenkins任务而不下载上述的github存储库。
答案 1 :(得分:3)
虽然在没有先为该作业提取代码的情况下无法轮询github存储库以启动作业,但您可以通过使用jenkins multijob plugin来设置多阶段作业来解决此问题,配置如下:
WORKSPACE-A
中的主作业。这份工作会
轮询你正在监控的git repo。进行更改时,作业
将拉出更改(您将不会使用),然后继续构建,其步骤将是开始连续两个其他工作。WORKSPACE-B
,它不会跟踪任何git
库。此作业可以执行您想要的任何预配置。
因为它存在于与主服务器不同的工作空间中
这个工作,它不会受到来自git的源代码的污染。WORKSPACE-A
或WORKSPACE-B
,如果这是你想要的。您可以
要么这个工作跟踪与主工作相同的回购,那么
更改会自动拉入工作区,或复制
已经从您的git仓库从WORKSPACE-A
克隆到此作业的文件
工作区。注意:只有主作业应该有一个构建触发器 - 与git repo更改绑定的触发器。其他两个作业将从主作业外部触发。
答案 2 :(得分:0)
让我在这里了解你的要求。
您希望监控存储库但不要提取任何内容:每当有人进入仓库时,您都要检查仓库的完整性而不是克隆。
我认为上述要求没有任何意义;而不是詹金斯,你可以为此进行监控。
你还想要实现这个目标。您可以在SCM部分中指定任何git URL来设置作业,并且可以在执行shell部分中添加以下内容。
git ls-remote <GIT-URL>
(确保您拥有在shell上执行此操作的适当权限。)
如果你们都很好,你们将获得所有分支,标签和拉取请求信息,然后你可以决定退出状态。
希望这有帮助。
答案 3 :(得分:0)
假设您将作业配置为每分钟轮询一次,是否会运行此命令来实现目标?
git log --since="1 minute ago" | wc -l
在设置Jenkins工作区时,您必须拉出存储库,但之后可以关闭SCM连接。