Quantcast

project's software dependencies

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

project's software dependencies

Terry.Rankine

Hi

 

What’s the Jenkins way of associating software dependencies with jobs?

 

I have an open source project which is maven based but calls external software, python.

 

How do I associate the job with the software dependency?

Do I put all my python nodes into a PythonNodeLabel, and then restrict the job to PythonNodeLabel? What about if it needed python and ant? A PythonAndAntNodeLabel doesn’t scale very well. I don’t think labels are enough.

 

I think I almost want a ‘matrix config’ for the software dependency in the Job, and then a checkbox setup per slave node for what software it knows about.

 

Any other solutions out there?

 

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: project's software dependencies

Mark Waite
I use the label technique to identify key capabilities which must be available on a node in order for a job to use that node successfully.  I have used labels which indicate key capabilities (like "visual-studio-2010" and "git" and "python") rather than enumerating every tool.  For example, a build which requires visual-studio-2010 can infer it has msbuild and it has SQL Server, a build which requires python in my environment can also assume it has "nosetests" and "py.test" and "pywin32".

If you need ant, you could have Jenkins install ant for you automatically.  The automatic installation of tools is mentioned at https://wiki.jenkins-ci.org/display/JENKINS/Tool+Auto-Installation.

The "Configure Jenkins" screen includes sections for each of the tools which can be installed automatically.  If it is worth the effort to you, you could investigate adding the external tools you need to the list of tools which can be installed automatically.

Mark Waite


From: "[hidden email]" <[hidden email]>
To: [hidden email]
Sent: Sunday, November 27, 2011 5:40 PM
Subject: project's software dependencies

Hi
 
What’s the Jenkins way of associating software dependencies with jobs?
 
I have an open source project which is maven based but calls external software, python.
 
How do I associate the job with the software dependency?
Do I put all my python nodes into a PythonNodeLabel, and then restrict the job to PythonNodeLabel? What about if it needed python and ant? A PythonAndAntNodeLabel doesn’t scale very well. I don’t think labels are enough.
 
I think I almost want a ‘matrix config’ for the software dependency in the Job, and then a checkbox setup per slave node for what software it knows about.
 
Any other solutions out there?
 


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: project's software dependencies

Jeff Payne
In reply to this post by Terry.Rankine
I think you may be misunderstanding how tags work. Rather than using the complex tags you describe, you would specify a simple tag for each tool / platform / capability (Ant Python Win32). Then you can use a Boolean expression in each job to select the capabilities you need (Ant && Python). 

Jeff

Sent from my iPhone

On 2011-11-27, at 7:40 PM, "[hidden email]" <[hidden email]> wrote:

Hi

 

What’s the Jenkins way of associating software dependencies with jobs?

 

I have an open source project which is maven based but calls external software, python.

 

How do I associate the job with the software dependency?

Do I put all my python nodes into a PythonNodeLabel, and then restrict the job to PythonNodeLabel? What about if it needed python and ant? A PythonAndAntNodeLabel doesn’t scale very well. I don’t think labels are enough.

 

I think I almost want a ‘matrix config’ for the software dependency in the Job, and then a checkbox setup per slave node for what software it knows about.

 

Any other solutions out there?

 

Loading...