[Zope3-dev] Re: Continuous integration, ZopeInstall

Godefroid Chapelle gotcha@swing.be
Mon, 19 May 2003 10:52:40 +0200


PieterB wrote:
> Hi,
> 
> I've been working on a script to generate a Zope instance from scratch
> (based on Sidnea's scripts), see thread on Zope-Dev:
> http://mail.zope.org/pipermail/zope-dev/2003-May/019627.html
> 
> I think a script like that will also be usefull for future installers
> (e.g. FreeBSD ports, RPM's, etc.) and for elaborating continious
> integration for Zope/Python. 
> 
> It would be great to have something similar to the Java developers, such
> as:
> - Gump (http://jakarta.apache.org/gump/)
>   The primary goal of Gump is to get diverse projects to communicate
>   early and often about integration, dependencies, and versioning
>   management.
> 
> - AntHill (http://www.urbancode.com/projects/anthill/default.jsp) 
>   tool that ensures a controlled build process (makes nightly builds, runs
>   unit tests, generates source code metrics)
> 
> - Maven (http://maven.apache.org/)
>   Maven is a Java project management and project comprehension tool
>   (metrics, checkstyle, changelog, file activity, docs, tests, tasks, etc.)
> 
> The first step would be to able to generate SandBoxes using the
> same method on every platform. I think the building of Python and
> Python modules (e.g. PyXML) can be best done using a shellscript
> and/or Makefile. I think it would be the best to write some Python
> script that is able to download/get the necesarry files from websites
> or CVS (using wget and a CVS-client) and check the dependencies.
> The scripts will be controlable using environment variables. For
> example to get the most bleeding edge Zope 2, use something like:
> 
> 8<-----------------------------------------------------
> 
> #!/bin/sh
> PYTHON_VERSION=2.3b1 	# 2.1.3, 2.2-stable, 2.2.3, 2.3b1, 2.3-dev, dev
> ZOPE_VERSION=2.7-dev 	# 2.6.1, 2.6-stable, 2.6-dev, 2.7-dev, 3-dev, dev
> PLONE_VERSION=1.0.2-dev	# Empty (don't install plone), 1.0.1, 1.0-stable, 
> 			# 1.0.2-dev, dev
> ZWIKI_VERSION=0.18-dev 	# 0.18, 0.18-dev, dev
> 
> make build_python
> make test_python
> make build_zope_standbox
> make test_zope
> make test_zope_products
> make start		# run the instance
> make publish_results	# e.g. send e-mail to some mailinglist
> 
> 8<-----------------------------------------------------
> 
You should take a look at aap written in Python by Bram Molenaar(Vim).
http://www.a-a-p.org

This is a sort of super make with CVS support and a lot of other things. 
Maybe the nicest is that you can use Python code in cases where the 
builtin command do not enoug for you

> I think the best name for such a product/pacakage will be ZopeInstaller.

Yup
> 
> Please let me know what you think of this idea.
> 
> PieterB
> 
> --
> PieterB, http://zwiki.org/PieterB


-- 
Godefroid Chapelle

BubbleNet sprl
rue Victor Horta, 18 / 202
1348 Louvain-la-Neuve
Belgium

Tel + 32 (10) 459901

TVA 467 093 008
RC Niv 49849