通过GCR图像推送触发詹金斯(使用pub / sub)

时间:2020-09-15 13:51:15

标签: jenkins jenkins-pipeline google-container-registry

对dockerhub有官方支持:https://docs.cloudbees.com/docs/admin-resources/latest/plugins/dockerhub-trigger

但是,没有GCR(如果我输入错了,请纠正我)。

GCR不支持webhook,即使支持,我也不想设置对Jenkins服务器的网络访问权限,因为我没有IP列入白名单:Which ip ranges does the google container registry use for its build tools?

是否可以让Jenkins对Google pub / sub进行民意测验?我找不到该插件。

我可以做类似GCR的操作=>触发pub / sub =>触发VPC版本的云函数=>调用Jenkins的工作,但这很麻烦,添加了更多可能损坏并需要维护的内容。

我希望仅设置一个触发器,以便可以轮询我的SCM存储库(我将Webhooks用于SCM,但是可以进行轮询并得到官方支持)。

是否有一个插件可以像添加pub / sub“触发器”一样无缝地进行操作? https://www.jenkins.io/doc/book/pipeline/syntax/#triggers

此外,也许我可以做一些事情,例如按时间表运行一项工作,每分钟检查GCR或其他内容,但严重干扰了我的构建历史,似乎是一种很奇怪的方法。

1 个答案:

答案 0 :(得分:0)

一个可以做所有事情的插件,绝对不会;我认为使用Pub / Sub可能会更接近,那就是使用URLTrigger plugin之类的方法来直接调用pubsub API。但是,这不能解决身份验证以及如何实现触发或不触发构建的逻辑的问题。

考虑我的上一句话,您的解决方案可以分几部分给出,例如

  1. 配置“存储库”将通知发送到pub / sub
  2. 在jenkins中配置一个读取pub / sub的插件以监视推送(例如https://github.com/jenkinsci/pubsub-light-plugin
  3. 配置它以发送呼叫/通知詹金斯
  4. 如果第2步成功,则在jenkins中运行任务

我希望它可以帮助您找到解决问题的明确途径。