[TIP] Best practices to maintain packages in CI environment

holger krekel holger at merlinux.eu
Fri Oct 8 09:17:02 PDT 2010


Hi Alex,

On Fri, Oct 08, 2010 at 16:57 +0100, Michael Foord wrote:
>  On 08/10/2010 15:50, Alex wrote:
>> Our continous integration server (Hudson) controls several slave
>> machines (VM), each of which runs Python. Whenever a new package is
>> needed, I have to manually install the package in each slave and it's
>> very convenient since now I have 20 of them. I've thought of using
>> 'virtualenv' but it dramatically increases the build time when the
>> number of pacakge is large. What are the best approaches to deploy and
>> maintain these pacakges (version) in a build/testing farm ?

I don't understand how virtualenv would make a difference if you
don't delete and create it afresh all the time. Anyway, ...

> Well, the virtualenv only needs to be recreated if the dependencies  
> change. tox (for example) takes this approach.

i guess tox may indeed help you in that it allows projects to specify
their dependencies and will install and manage (e.g. cache) them 
on each slave.  Each Hudson Job will run in its own (managed) virtualenv. 
You can also specify dependencies as local files in addition to PYPI 
available ones.

For more details, see the Hudson/Tox examples here:

    http://codespeak.net/tox/example/hudson.html

and maybe this more general article by activestate:

    http://www.activestate.com/blog/2010/09/pain-free-continuous-integration-python-using-toxhudson

have fun,
holger

>
>> _______________________________________________
>> testing-in-python mailing list
>> testing-in-python at lists.idyll.org
>> http://lists.idyll.org/listinfo/testing-in-python
>
>
> -- 
>
> http://www.voidspace.org.uk/
>
> READ CAREFULLY. By accepting and reading this email you agree,
> on behalf of your employer, to release me from all obligations
> and waivers arising from any and all NON-NEGOTIATED agreements,
> licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap,
> confidentiality, non-disclosure, non-compete and acceptable use
> policies (”BOGUS AGREEMENTS”) that I have entered into with your
> employer, its partners, licensors, agents and assigns, in
> perpetuity, without prejudice to my ongoing rights and privileges.
> You further represent that you have the authority to release me
> from any BOGUS AGREEMENTS on behalf of your employer.
>
>
> _______________________________________________
> testing-in-python mailing list
> testing-in-python at lists.idyll.org
> http://lists.idyll.org/listinfo/testing-in-python
>

-- 



More information about the testing-in-python mailing list