On 6 September 2017 at 23:24, Stephen Connolly < [email protected]> wrote:
> > On Thu 7 Sep 2017 at 07:22, Stephen Connolly <stephen.alan.connolly@gmail. > com> wrote: > >> You are waiting on https://github.com/jenkinsci/github-branch- >> source-plugin/pull/158 to be merged then. >> >> You could build the plugin with the PR merged and do some testing to help >> give better confidence for releasing that PR >> >> >> On Thu 7 Sep 2017 at 00:43, <[email protected]> wrote: >> >>> Oh, to clarify, we're using the "github branch source" plugin and I have >>> already confirmed that github is correctly firing the webhook. >>> >> > Hmmm the event side of that PR may need updating... > > Would be really good to see if tags get created by events or if they only > show on an index with the current PR > Had a look at the code, tag events were not being handled, so I pushed https://github.com/jenkinsci/github-branch-source-plugin/pull/158/commits/51fc6efbfed92f541032ed672be2ee9d9ac2e398 which should provide event support for tags Now if you want tags to build automatically, then you will need to write an extension plugin for branch-api that provides an implementation of https://github.com/jenkinsci/branch-api-plugin/blob/master/src/main/java/jenkins/branch/BranchBuildStrategy.java (one there is at least one BranchBuildStrategy extension defined in your Jenkins then the BranchSource should allow you to add the strategies: https://github.com/jenkinsci/branch-api-plugin/blob/master/src/main/resources/jenkins/branch/BranchSource/config.jelly#L45 Note though, https://github.com/jenkinsci/branch-api-plugin/blob/22c8d12a5ad3b523042343bb769b15affb11d1a6/src/main/java/jenkins/branch/MultiBranchProject.java#L2162-L2173 so if you configure a source with one or more BranchBuildStrategy instances then that source will stop using the default behaviour of auto-build anything that is not a tag, so you might need more than one strategy to provide the flexibility you want > > >>> >>> 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 >>> <https://groups.google.com/d/msgid/jenkinsci-users/2add8404-567b-400d-baa2-2562cebe867f%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- >> Sent from my phone >> > -- > Sent from my phone > -- 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/CA%2BnPnMy03%3DzAQ4V%2Be89omSXe29%2B5751YwQpRSBL-2teDQCSP%2BA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
