Oh, to clarify, we're using the "github branch source" plugin and I have already confirmed that github is correctly firing the webhook.
On Wednesday, September 6, 2017 at 4:38:05 PM UTC-7, [email protected] wrote: > > One of the fundamental concepts in CI/CD is "build once". So... we build > for every commit and test. Code which we want to promote, we merge and then > test again. If tests pass, we tag it with a release number in git (v3.2 for > example) and push that. I expect jenkins to fire a build. Our jenkinsfile > will then do a docker pull and discover it's already built, apply the new > tag and docker push. > > But it sounds like this workflow is fundamentally not possible with > Jenkins. Is that correct? > > A > > On Friday, July 14, 2017 at 9:00:10 AM UTC-7, Mark Waite wrote: >> >> >> >> On Friday, July 14, 2017 at 7:56:00 AM UTC-8, Samuel Henrique wrote: >>> >>> Hello, >>> >>> I'm trying to make jenkins trigger a build whenever a new tag is pushed >>> to my git repo. >>> >>> I already made it to trigger builds when a tag pointing to a new commit >>> is pushed, by setting: >>> >>> *refspec:* +refs/tags/*:refs/remotes/origin/tags/* >>>> *branch specifier:* ** >>> >>> >>> The problem is that the builds are not triggered when i tag some commit >>> that already has another tag, even if its an annotated tag. >>> >>> The use case is as follows: >>> >>> 1)We need devs to be able to deploy our webapp by tagging releases on >>> github (mostly in other branches than master), like tag: v1.0.0 (the >>> previous tag was v0.9.9). >>> 2)We need to be able to rollback deploys, by tagging again previous >>> releases (rollbacks will be always tagging commits on master), like tag: >>> v0.9.9-rollback [ponting to the same commit as v0.9.9). >>> 3)We also need to follow some process that would allow fresh servers to >>> retrieve the same deployed release as the other servers (dealing with >>> autoscalling/dynamic inventory) >>> >>> The 3rd item is easily solvable by configuring capistrano to self-deploy >>> the last tag (sorting tags by taggerdate) on server startup (so new >>> machines will fetch rollbacks too). >>> >>> The 1st item is already good, as jenkins always trigger a build when a >>> tag ponting to a new commit is pushed. >>> >>> My problem is with rollbacks (2nd item), jenkins will receive the git >>> hook, poll the repository but won't trigger the build, it detects the new >>> tag but it acts as it already built that. >>> >>> I've searched online and from what i read, i think the git plugin is >>> checking the hash the tag points to, not the hash from the tag itself, thus >>> it doesn't detect a change. Can somebody confirm if i'm right, or if the >>> problem is is another plugin? >>> >>> >> That is correct. The git plugin assumes that once it has built a commit, >> then it does not need to build it again. >> >> There are alternatives that may allow you to force a build of an already >> built commit. For instance, you could parameterize a build to take the tag >> of the commit to build as an argument, then invoke it with a POST from the >> "curl" command to build that specific tag. That isn't as elegant as the >> webhook technique that you're trying to use, since it requires that you >> create something that detects the creation of a new tag, then when the new >> tag is detected, it calls that curl command. >> >> Mark Waite >> >> >>> Any help is highly appreciated. >>> >> -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2add8404-567b-400d-baa2-2562cebe867f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
