[Anthill-pro] Complex Project examples

Eric Minick etm at urbancode.com
Wed Oct 10 10:51:19 CDT 2007


Chris,

Definitely reasonable. The fact that they are being run from the same 
workflow should ensure that they have identical checkout times 
(workspace dates) so you should get a consistent set of code to operate 
on. That said you probably have some steps like Stamp (set a build 
number) and set status that are duplicated when they should not be. Same 
for things like getting and publishing a change log.

So I would do something more like:

                    Start
                      |
                    Prepare
                      |
Build Database | Build Engine | Build Tool
                      |
                   Wrap-up
                      |
                     End

You would convert your build jobs to generic jobs, so you can remove duplicate steps. In this case, I think those would be get-changelog, publish changelog (usually), stamp, and assign success (You are really only successful if all 3 build I'd guess).

Your prepare step would do a p4 sync, get a changelog and publish it, 
and assign a stamp (build number). The build steps would update their 
various build spaces with populate workspace (this p4 sync will be 
duplicated for one agent probably). Wrap up, I think, would just be the 
assign status step. Essentially any of the 3 builders could assign a 
failure if it fails, but only if you manage to get to the wrap up would 
you be able to mark the living build as a "Successful Build".

I'll try to produce that recording ASAP. It's somewhat similar.

-- Eric

Chris Stoy wrote:
> I'd love to see how you have your project configured, if even just to
> get an idea of how a working project is set up.
>
> As for my project, I have three executables I need to build, all
> utilizing the same code base.  I have C++ database, C++ core engine, and
> a C# tool that use the other two projects.
>
> Each executable can be compiled independent of the others, and in fact,
> I would like to do that in parallel.
>
> Currently, I have a single Project ("Test Continuous Integration") with
> three Job Configurations (each uses a Shell Builder running an MSBuild
> script):
>
> 	Build Database
> 	Build Engine
> 	Build Tool
>
> And my Workflow is:
>
> 			Start
>
> Build Database | Build Engine | Build Tool
>
> 			End
>
> so that each of the Jobs is run on a different agent in parallel.
>
>
> Is this reasonable?  
>
> Thanks,
>
> Chris.
>
>
> -----Original Message-----
> From: anthill-pro-bounces at lists.urbancode.com
> [mailto:anthill-pro-bounces at lists.urbancode.com] On Behalf Of Eric
> Minick
> Sent: Tuesday, October 09, 2007 10:32 PM
> To: AnthillPro user and support list.
> Subject: Re: [Anthill-pro] Complex Project examples
>
> The normal rules of thumb for deciding between multiple projects and 
> multiple jobs are the following:
>
> Can I check out and compile the different executables independently? 
> (they have different source)
> Do they have a different lifecycle? (can they be reused independently)
>
> If either answer is "yes" you probably want different projects. 
> Otherwise, you probably want a single project.
>
> Also, keep in mind that if you are going to end up with many very 
> similar build steps, it might be easier to have one parameterizable job 
> that you iterate over in parallel. That's getting pretty interesting, 
> but we do have something like that in our testing environment. If that 
> sounds attractive let me know and I'll record a short tour of how that 
> is configured and post it.
>
> -- Eric
>
> Chris Stoy wrote:
>   
>> Hello all,
>>
>> I'm having problems figuring out just how I should be setting up 
>> Projects with Anthill. The Simple Project Configuration was a good 
>> start, but I'm mostly interested in seeing how to utilize parallel 
>> builds and more complex workflows.
>>
>> Basically, I have a group of executables that I need to compile and 
>> data that needs to run through a conversion system. Most of these 
>> tasks can occur in parallel. What is the best way to set up this 
>> system? Do I create a single project with multiple jobs? Or would it 
>> be multiple projects?
>>
>> Are there any examples or a more complex Project setup that I can see?
>>
>> Thanks,
>>
>> Chris.
>>
>>
>>     
> ------------------------------------------------------------------------
>   
>> _______________________________________________
>> Anthill-pro mailing list
>> Anthill-pro at lists.urbancode.com
>> http://lists.urbancode.com/mailman/listinfo/anthill-pro
>>   
>>     
> _______________________________________________
> Anthill-pro mailing list
> Anthill-pro at lists.urbancode.com
> http://lists.urbancode.com/mailman/listinfo/anthill-pro
> _______________________________________________
> Anthill-pro mailing list
> Anthill-pro at lists.urbancode.com
> http://lists.urbancode.com/mailman/listinfo/anthill-pro
>
>   


More information about the Anthill-pro mailing list