Joe Passavanti created JENKINS-13457:
----------------------------------------

             Summary: support for hg flow 
                 Key: JENKINS-13457
                 URL: https://issues.jenkins-ci.org/browse/JENKINS-13457
             Project: Jenkins
          Issue Type: New Feature
          Components: mercurial
            Reporter: Joe Passavanti
            Assignee: Kohsuke Kawaguchi


hg flow (https://bitbucket.org/yinwm/hgflow/wiki/Home) adds process control in 
Mercurial similar to git flow (https://github.com/nvie/gitflow).  One of the 
outcomes of this process is that it creates and deletes branches all the time.

For example: the "releases" branch in itself really doesn't have anything in 
it.  In our process, we have mapped this to staging, so that, when we create a 
release, hg flow will create a branch under releases with whatever name we come 
up with.  example: releases/rel_12

Once we deem this release as tested and ready to go live, hg flow will then 
merge it into the default (sometimes known as master) branch, which is where we 
then push out to our servers for production.

It would be nice, if the Jenkins Mercurial plugin could help match this 
process.  As it is today, when we create a new release, I have Jenkins set up 
with a parameter for the job, that we have to type in the current release 
branch every time we push an update. It would be nice if there could a checkbox 
or job config that would tell jenkins which of the top branches to monitor 
(releases,default,develop, etc.).  Then the process would go as:
# query hg branches and look for any branches under the branch named in the 
above config variable
## if its the releases branch, there should always only be 0 or 1 according to 
hg flow
## if 0, nothing for jenkins to do
## if more than 1, some kind of process problem, jenkins shouldn't continue
# assuming there is a branch under releases, switch to it
# run hg update on the branch
## if there are updates, process updates, run rest of job, capture the branch 
name (example: rel_15 for the branch releases/rel_15) and allow it to be a 
variable for post build actions (example: to be used with Jira plugin to tag 
tickets with the release branch for Jira changelog)
## if not, don't process rest of job

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to