[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hudson-dev] General newbie question (projects + job executions)

On 4/2/12 5:27 PM, Ley, Chung wrote:



Thanks….  I do intend to learn and use Maven down the road.  Right now, I am just not as young as I wanted to be and still learning perforce, jboss and HudsonJ


Yes, I meant virtual servers that are using VMWare….  Do I need to install anything to make them available as "slaves"?  If so, where do I install that since they are just virtual servers.

You can read about Hudson Slaves here


- Winston






From: Winston Prakash [mailto:winston.prakash@xxxxxxxxx]
Sent: Monday, April 02, 2012 5:15 PM
To: Hudson developer discussions
Cc: Ley, Chung
Subject: Re: [hudson-dev] General newbie question (projects + job executions)


On 3/29/12 9:49 AM, Ley, Chung wrote:

Thanks for your responses.


I am also new (not familiar) with Maven, but from what I heard, I will like need that as the “clue” to combine projects/artifacts together.  However, I don’t know what the learning curve will be like since I may have to start with something quickly and fast.

I would highly recommend using maven. If you are new to maven you might want to read these e-books

Maven by example
Maven Cook Book
Maven: The Complete Reference

Maven helps you to divide your project components in to buildable chunks and create artifacts. These artifacts can be referenced from other components. Then you can build the final application by combining the artifacts of each module.


As for the remote job….  Will I still need to install something on the “farm” in order for Hudson to initiate and wait for job that way, it sounds like that I don’t if we are to just have Hudson to call and WAIT.  On the other hand, I do have integration test that will takes 12hrs + running on a 100CPU farm; so I will likely like to option to not to wait.

I'm not sure what do you mean by virtual Farm. Are they virual machines (VmWare, VirtualBox etc)?  If so one possibility is to add those VMs as slaves to Hudson and tie your Integration Test job to that slave. 


I am having problem with setting up ldap configuration and may need additional help.  For now, my plan is that everyone will need to logs on using the Windows authentication AND then certain ids will have special permissions (such as mine)….  However, I guess I will need an “admin” account that manage all of that, right?  I assumed that I do that via some configuration file.  Can you point me to it?

From your other e-mail, I guess you are successful in setting up LDAP authentication. I would suggest Matrix/Project authorization.


Currently, I am deploying Hudson as a WAR file inside JBoss, but that seems to make the editing of the configuration files so much more difficult….  Do you recommend that I deploy that as a native application?

Depends on your needs. For large number of builds better to use sophisticated Java EE appserver, than the bundled simple Servlet Container.


Finally….  I am so sorry to have so many questions….  Can you recommend any additional resource/documentation for learning best practices and other aspects of Hudson….   I am starting with the Hudson “Book” from the web site, and some of the other PPTs that are available there; but you may have additional recommendations….  Just trying to learn the different available plug-ins are time consumingJ

If you outline your requirements we may be able to point you to the right plugins. Eventually you might want to write your own plugin, you don't any of the plugin suits your requirements.

- Winston


Thanks again.








From: hudson-dev-bounces@xxxxxxxxxxx [mailto:hudson-dev-bounces@xxxxxxxxxxx] On Behalf Of Geoff Waymark
Sent: Thursday, March 29, 2012 3:29 AM
To: hudson-dev@xxxxxxxxxxx
Subject: Re: [hudson-dev] General newbie question (projects + job executions)



Answers inline...

Although they might be classed more as opinion than answers.

On 27/03/2012 15:59, Ley, Chung wrote:



I am very new to Hudson and as a matter of fact I am new to using CI.


I am looking into setting up Hudson, but have a couple of general design questions.

I have projects where each project encompass a number of different components/parts where each part is being developed by a different set of developers.  What is the best way to model that in Hudson?

We use Hudson project jobs for each component in this case, then each dev team can see there component build and test results by checking there job results. You cna then use artifacts from those component jobs to build larger integration projects that show results of that integration, building up to the logical 'whole thing'. It's slightly harder to architect, although not that hard if you are using maven.

The "test" job/script that need to be done for some of these components can be huge tasks and the job need to submit to a virtual farm for "execution".  Is that possible?  How do you approach that?  It sounds like I like to install some execution agent/broker in the server farm side to make this happen.

Depending on how you submit to this farm and how the results are reported you could use a Hudson job to submit and wait for the results, although this would block a Hudson executor, it wouldn't massively increase your server load as it would just be waiting. Investigate the build timeout plugin to protect from farm failures etc...

Also have a look at Hudson's ability to fingerprint files in sub-projects and join up test results based on the shared usage of a fingerprinted file.

Do you manage the development + main + release branches all in the same CI server or do you manage them in separate CI?  How do you model it such that the main is "build" from the development?  How do you make such build that by default it is only on a successful build (without error) from the development, but allow certain users to override it?

You can manage these in the same CI and promote builds up through the levels. Have a look at the promoted builds plugin for what you can do. You can streamline the UI by having development, main, and release views that can be used by the different groups, dev, qa, etc...





hudson-dev mailing list

hudson-dev mailing list

PNG image