Konfigurationsgesteuerte Buildouts Dzug 2008

Preview:

Citation preview

Wenn Buildout nicht gut genug ist:Konfigurationsgesteuerte Buildouts

1

9. DZUG Konferenz Saarbrücken

September 2008

Andreas Jungwww.zopyx.de, info@zopyx.de

Philosophie von zc.buildout

2

Das Standardwerkzeug zur automatisierten Erstellung von Zope Ablaufumgebungen (für Entwicklung, Staging und Produktion)

Buildouts sind „self-contained“

Buildouts sind reproduzierbar

Philosophie von zc.buildout (2)

3

agonositsch bzgl. dem Verwendungszweck

agonostisch bzgl. der Quellen der Bestandteile:

Eggs

Checkouts (SVN, CVS)

Downloads

....

436

erstelltbuildout.cfg

Entwickler glücklicher Kunde

übergibt buildout.cfg

536

development.cfg

Entwickler-Sandbox

Test/Staging-Sandbox

Produktions-umgebung

staging.cfg deployment.cfg

Buildout in Software Lifecycle

6

haufe.haufeskel

Haufe-spezifische Zopeskel-Erweiterungen mit Templates für

hrs2_buildout

portal_buildout

idesk_online

idesk_offline

Zope@Haufe Mediengruppe

7

iDeskContent-Retrieval

PortaleShops

Business-Comm.

HRSSGML-CMS

8

Zope@Haufe Mediengruppe (2)

mindestens drei große Zope Projektcluster

zusammen ca. 100 Zope Produkte, 100 Module

unterschiedliche Sandbox-Skripte für jeden Projektcluster und Umgebung (dev, test, prod)

unterschiedliche Anforderungen bzgl. Umgebungen

8

Zope@Haufe Mediengruppe (2)

mindestens drei große Zope Projektcluster

zusammen ca. 100 Zope Produkte, 100 Module

unterschiedliche Sandbox-Skripte für jeden Projektcluster und Umgebung (dev, test, prod)

unterschiedliche Anforderungen bzgl. Umgebungen

zc.buildout zur Vereinheitlichung aller Umgebungen

9

haufeskel TemplatesBestehend aus

modul-spezifischer Konfiguration: modules.cfg

Host/Umgebungs-spez. Konfiguration <host>.cfg

Buildout Verzeichnis-Skeleton

Template-spez. Variablen (, die interaktiv abgefragt werden können)

hierarchische Konfigurationsdateien

flexibler Ansatz für unterschiedliche Projekte

10

haufeskel Templates (2)

basierend auf Paster und ZopeSkel

paster create --list-templates

paster create -t <your_project_template>

11

TemplateVariablen <env>.cfg

interne globale Konfiguration

TemplateVariablen

Mischen der Konfiguration innerhalb von

haufeskel

Generierung globaler Konfigurationen aus Templatetemplates

buildout.cfg_tmpl -> buildout.cfg

storages.cfg_tmpl -> storages.cfg

environment.cfg_tmpl -> environment.cfg

modules.cfg

12

Fragen?

12

Fragen?

Vielen Dank für Ihre Aufmerksamkeit

Softwareentwicklung und Beratung für Python, Zope & Plone:

ZOPYX Ltd. & Co. KGCharlottenstr. 37/172070 TübingenTel. 07071/793376www.zopyx.deinfo@zopyx.de

13

Recommended