{"id":2104,"date":"2017-12-07T10:37:02","date_gmt":"2017-12-07T10:37:02","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/?p=2104"},"modified":"2020-01-09T09:44:39","modified_gmt":"2020-01-09T09:44:39","slug":"advice-on-our-hudson-setup-how-to-poll-dependencies","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/advice-on-our-hudson-setup-how-to-poll-dependencies\/","title":{"rendered":"Advice on our Hudson setup \/ How to Poll Dependencies"},"content":{"rendered":"<p><strong>scmuser created the topic: Advice on our Hudson setup \/ How to poll dependenc<\/strong><br \/>\nAdvice on our Hudson setup \/ How to poll dependencies<\/p>\n<p>Hi, I&#8217;m looking for some advice on whether our Hudson setup is<br \/>\nsensible, and I&#8217;m also wondering how to poll instead of build<br \/>\n&#8220;dependency-triggered&#8221; jobs.<\/p>\n<p>We have a project that is broken up into 3 components. As is typical<br \/>\nwith git, each component is a standalone piece that lives in its own<br \/>\ngit repository.<\/p>\n<p>The Hudson Git Plugin takes multiple repository URLs but blends them<br \/>\ntogether, so we couldn&#8217;t just keep everything in a single job (nor do<br \/>\nI think we really want that), and instead we created one job per<br \/>\nrepository.<\/p>\n<p>Dependency-wise, one project (C) depends on the other two (A, B).<br \/>\nBrief Googling led us to the Join Plugin. So now we have a 4th &#8220;base&#8221;<br \/>\njob (D) that is empty and simple triggers A, B to build, then has a<br \/>\nJoin Trigger for C. D builds every hour.<\/p>\n<p>Now to the question: our setup produces a lot of unnecessary builds.<br \/>\nIs there a way to add polling into the chain, such that if an upstream<br \/>\npoll detects no changes, downstream polls still take place? It seems<br \/>\nthat currently there are two problems standing in the way of this:<\/p>\n<p>(1) Downstream jobs can only be built, not polled.<\/p>\n<p>(2) Only post-build triggers exist, so an upstream project (like A or<br \/>\nB) must actually go through a build for C to build, whereas what we&#8217;d<br \/>\nwant here is a post-poll trigger.<\/p>\n<p>Thanks in advance for any tips<\/p>\n","protected":false},"excerpt":{"rendered":"<p>scmuser created the topic: Advice on our Hudson setup \/ How to poll dependenc Advice on our Hudson setup \/ How to poll dependencies Hi, I&#8217;m looking for some advice&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[42],"tags":[429],"class_list":["post-2104","post","type-post","status-publish","format-standard","hentry","category-jenkins","tag-hudson"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/2104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=2104"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/2104\/revisions"}],"predecessor-version":[{"id":2105,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/2104\/revisions\/2105"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=2104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=2104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=2104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}