Hi Mark, thanks for the reply.

On Tuesday, July 22, 2014 12:39:52 PM UTC-7, Mark Waite wrote:
>
> I thought I remembered a pull request submitted to the git plugin to allow 
> user definition of the comparison base.  In your case, there is a "base 
> branch" against which you want all comparisons, no matter the results of 
> the last job.  Unfortunately, I didn't find it in the current pull requests 
> for the git plugin, though I thought it was there.  Others may be able to 
> find it and consider if it should be merged.  If you can locate that pull 
> request, you could consider building an experimental version of the git 
> plugin with that change included, then could report the results of your 
> testing back to the pull request.
>

I spent some time reviewing the existing open PRs. There are a lot of them, 
and several seem like they are related in some way. Unfortunately, I don't 
have the luxury to spend time testing & refining any of these now, though 
we have an open req for a build engineer. I'm hopeful we can find someone 
who could do this kind of work. 

>
> Can't you obtain the results you want (on your different, but related 
> concern) by asking your developers to push a new branch for changes which 
> are to be built independently, rather than pushing to an existing branch? 
>  I believe that when pushes are detected to a new branch, a new build is 
> queued.  If multiple pushes to an existing branch are detected, they are 
> all batched together into a single job.
>

Most of the pushes are for new branches. A specific branch may have commits 
pushed to it multiple times, but the goal is that for most feature work, a 
developer pushes a feature/<unique-feature-name> branch only when they have 
completed the work on the feature, after already running unit tests on 
their workstation. If the Jenkins job passes, and no changes are requested 
by the reviewer in the of the Pull Request code review, then the feature 
branch can be merged and deleted with no additional commits. I believe the 
problem we have is that the Git plugin assumes that a Jenkins job is used 
for one specific branch, and is therefore partially confused when a job is 
configured to match a wildcard pattern like 'feature/**'.

-Jim

>
> On Tue, Jul 22, 2014 at 12:28 PM, Jim Lloyd <jim....@gmail.com 
> <javascript:>> wrote:
>
>> Our workflow using git is similar to the GitFlow 
>> <http://datasift.github.io/gitflow/IntroducingGitFlow.html> model that 
>> is now commonly used by many developer teams. In particular, we create 
>> feature branches that use the prefix feature/, and we have a Jenkins job 
>> configured to build any push to any branch matching the pattern 
>> 'origin/feature/**'. Developers work on these branches in parallel, so the 
>> order they are committed is not in any logical sequence. That is, it 
>> doesn't make sense for the jenkins job to consider the change set for the 
>> job to be the difference between the commit being built, and the commit 
>> built in the last successful run of the job. Rather, we'd like the set of 
>> changes to simply be the changes contained in the push. Is there any way to 
>> support this model?
>>
>> A different but related concern is what the job for building feature 
>> branches should do when it cannot keep up with multiple independent pushes 
>> of feature branches happening in quick succession. We currently have to 
>> throttle these jobs to run just one job at a time, and the jobs take 
>> approximately an hour. I think we'd like to ensure that every one of these 
>> pushes is eventually built, even if it results in a backlog that is only 
>> eventually cleared in the middle of the night. We are working on ways to 
>> allow jobs to run in parallel, but may have to live with the current setup 
>> for a month or two. In the meantime, is there a way to add jobs to the 
>> queue immediately, with the exact commit to build specified in the job?
>>
>>  

-- 
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 jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to