Magazine Internet

Une très courte intro à Buildout

Publié le 11 janvier 2009 par Mikebrant

oula 2 articles en une semaine.

On va faire un Buildout de Zope2 et Plone3.

Pour faire simple, Buildout va nous permettre de créer un environnement fonctionnel via un fichier de configuration .
Pour de plus amples informations, rendez-vous ici.

Comment ça marche ?

On va d'abord devoir l'installer, rien de bien compliqué :


# easy_install-2.4 zc.buildout


Voilà.Maintenant on va créer notre dossier qui va contenir tout ce dont Buildout à besoin afin de pouvoir créer un environnement :

$ mkdir test & cd test


Tout est prêt, nous manque plus qu'à initialiser Buildout :

$ buildout init


Et c'est fini.
Dans notre dossier test, le fichier buildout.cfg est apparu : c'est à partir de celui-ci que l'on va pouvoir installer nos applis.

buildout.cfg


Voilà  le contenu de buildout.cfg :

[buildout]
parts =


[buildout] est la seule section obligatoire.
On veut installer zope2 et Plone3, donc on va créer 3 sections que l'on va appelées dans parts.
Voilà ce que ça donne :

[buildout]
parts =
   zope2
   plone3
   instance1
  
[zope2]
[plone3]
[instance1]


On remplira les sections tout à l'heure.
Il nous faut avant tout un module : elementtree.
Pour installer simplement un module, il suffit de rajouter dans [buildout]  eggs, suvi du module à installer [il faut que ce module(egg) soit disponible au cheeseshop ] :

[buildout]
eggs =
   elementree
parts =
   zope2
   plone3
[zope2]
[plone3]
[instance1]


capiche?

Bon place à [zope2] :

[zope2]

recipe = plone.recipe.zope2install
url = ${plone3:zope2-url}


C'est assez court.
recipe indique que l'on va construire zope2 via plone.recipe.zope2install .
url quant à lui, indique l'url pour télécharger zope2 (ici elle va être spécifiée par la section plone3)
Et maintenant [plone3] :

[plone3]
recipe = plone.recipe.plone


recipe indique qu'il va télécharger et construire plone3 via plone.recipe.plone .

Puis [instance1], qui comme son nom l'indique, va nous créer une instance de notre serveur :

[instance1]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
user = admin:admin
http-address = 8080
debug-mode = on
verbose-security = on
products =
   ${plone3:products}
eggs =
   ${buildout:eggs}
   ${plone3:eggs}


On va se servir de plone.recipe.zope2instance pour construire notre instance.
zope2-location indique le chemin vers Zope2 . C'est notre section [zope2] qui le détient.
Ensuite c'est de la config de Zope :
user : nous permet de définir un admin.
http-adress : le port du serveur
etc...

products contient les chemins de tous les produits.
Dans cet exemple, nous n'avons que les produits installés par plone3 .

eggs contient les chemins de tous les eggs.

Maintenant on peut lancer le buildout via :

$ ./bin/buildout


Puis lancer notre instance par :

$ ./bin/instance1


Et voilà.

Voici le fichier complet :

[buildout]
eggs =
   elementtree
parts =
   zope2
   plone3
   instance1
  
[zope2]
recipe = plone.recipe.zope2install
url = ${plone3:zope2-url}
[plone3]
recipe = plone.recipe.plone
[instance1]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
user = admin:admin
http-address = 8080
debug-mode = on
verbose-security = on
products =
   ${plone3:products}
eggs =
   ${buildout:eggs}
   ${plone3:eggs}

Autre

On peut récupérer des produits/eggs par svn, ca marche de la même manière qu'ici : on rajoute une section,etc...

On peut aussi récupérer des buildouts tout prêt sur le net, par exemple sur le svn de plone.


Vous pourriez être intéressé par :

Retour à La Une de Logo Paperblog

Ces articles peuvent vous intéresser :

A propos de l’auteur


Mikebrant 9 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte