Acciones de Documento

Gracias Roberto Allende y plone cono sur

Este How-to es aplicable a: Plone 3.0.X, Plone 3.1.X
Este how-to está destinado a: Desarrollador

Gracias Roberto Allende y plone cono sur

Propósito

En una implantación Plone para desarrollo o pruebas necesitaremos o desearemos mantener constantemente actualizados a las últimas versiones disponibles los productos de la instancia donde trabajamos.

Estar pendiente de las nuevas versiones y actualizar manualmente cada uno de los productos del control de código es una tarea repetitiva, poco productiva y pesada. 

Este pequeño how-to, explica como instalar y configurar Infrae.subversion en nuestra instancia de Plone para verificar, descargar y actualizar automáticamente las últimas versiones de todos los productos que deseemos. 

Prerrequisitos

Será necesaria una implantación Plone >= 3.0.x realizada con la herramienta paster , ZopeSkel y tener el buildout bien configurado.

En el último apartado de este how-to podéis encontrar enlaces con más información sobre la instalación y uso de easy_install, zc.buildout y ZopeSkel.

Paso a paso

 

1 - Instalación Infrae.subversion

El primer paso es instalar en nuestro python el paquete Infrae.subersion, para ello aprovechamos easy_install  con el que con un simple comando descargará e instalara el paquete así como todas las dependencias necesarias.

$ easy_install infrae.subversion
Searching for infrae.subversion
Best match: infrae.subversion 1.0dev-r27844
Downloading http://pypi.python.org/packages/2.4/i/infrae.subversion/infrae.subversion-1.0dev_r27844-py2.4.egg#md5=ea4f6663281bde98a4e78cf8dd8805f0
Processing infrae.subversion-1.0dev_r27844-py2.4.egg

 

2 - Configuración del buildout

Ahora creamos una nueva sección en el archivo de configuración del buildout (buildout.cfg), para que utilice el paquete que acabamos de instalar indicando la receta del mismo.

En el ejemplo la llamaremos productos-desarrollo con este nombre se identificará la nueva parte del buildout y además será el nombre del directorio dentro de parts donde se instalarán los productos.

...

[productdistros]
recipe = plone.recipe.distros
urls =
nested-packages =
version-suffix-packages =

[productos-desarrollo]
recipe = infrae.subversion
urls =

[instance]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
...


Para que se tenga en cuenta la nueva sección deberemos añadirla a la sección buildout del mismo archivo de configuración.

[buildout]
parts =
    plone
    zope2
    productdistros
    instance
    zopepy
    productos-desarrollo
...

 

Por último,  indicamos a la instancia de Plone que tenga en cuenta los productos que se instalaran según le indiquemos en esta nueva sección.

...
[instance]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
user = admin:admin
http-address = 6181
debug-mode = on
verbose-security = on

# If you want Zope to know about any additional eggs, list them here.
# This should include any development eggs you listed in develop-eggs above,
# e.g. eggs = ${buildout:eggs} ${plone:eggs} my.package
eggs =
    ${buildout:eggs}
    ${plone:eggs}

# If you want to register ZCML slugs for any packages, list them here.
# e.g. zcml = my.package my.other.package
zcml =

products =
    ${buildout:directory}/products
    ${productdistros:location}
    ${plone:products}
    ${productos-desarrollo:location}
...

3 - Añadir direcciones del repositorio y lanzar buildout

Ya solo falta introducir las URL's del repositorio para los productos que queramos instalar y cada vez que ejecutemos el buildout se ejecutará para cada uno de ellos el checkout del subversion. 

...
[productos-desarrollo]
recipe = infrae.subversion
urls =
    http://svn.plone.org/svn/collective/ATSchemaEditorNG/trunk/ ATShcemaEditorNG
...
$ ./bin/buildout
Updating plone.
Updating zope2.
Updating productdistros.
Installing productos-desarrollo.
Installing instance.
Updating zopepy.

Ahora dentro del directorio parts podremos encontrar el producto ATShcemaEditorNG , versión trunk actualizada del repositorio de plone.org y evidentemente al ejecutar la instancia , Plone detectará e instalara el producto.

 

Más información

Este how-to está centrado solo en la instalación y configuración de Infrae.subversion dando por hecho que el lector sabe usar herramientas como el setuptools y  zc-buildout para generar una implantación de Plone.

 

por Francesc Cucurull Última modificación 31/03/2008 12:59
Patrocina: SEMIC Internet