15
Wenn Buildout nicht gut genug ist: Konfigurationsgesteuerte Buildouts 1 9. DZUG Konferenz Saarbrücken September 2008 Andreas Jung www.zopyx.de, [email protected]

Konfigurationsgesteuerte Buildouts Dzug 2008

Embed Size (px)

Citation preview

Page 1: Konfigurationsgesteuerte Buildouts   Dzug 2008

Wenn Buildout nicht gut genug ist:Konfigurationsgesteuerte Buildouts

1

9. DZUG Konferenz Saarbrücken

September 2008

Andreas Jungwww.zopyx.de, [email protected]

Page 2: Konfigurationsgesteuerte Buildouts   Dzug 2008

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

Page 3: Konfigurationsgesteuerte Buildouts   Dzug 2008

Philosophie von zc.buildout (2)

3

agonositsch bzgl. dem Verwendungszweck

agonostisch bzgl. der Quellen der Bestandteile:

Eggs

Checkouts (SVN, CVS)

Downloads

....

Page 4: Konfigurationsgesteuerte Buildouts   Dzug 2008

436

erstelltbuildout.cfg

Entwickler glücklicher Kunde

übergibt buildout.cfg

Page 5: Konfigurationsgesteuerte Buildouts   Dzug 2008

536

development.cfg

Entwickler-Sandbox

Test/Staging-Sandbox

Produktions-umgebung

staging.cfg deployment.cfg

Buildout in Software Lifecycle

Page 6: Konfigurationsgesteuerte Buildouts   Dzug 2008

6

haufe.haufeskel

Haufe-spezifische Zopeskel-Erweiterungen mit Templates für

hrs2_buildout

portal_buildout

idesk_online

idesk_offline

Page 7: Konfigurationsgesteuerte Buildouts   Dzug 2008

Zope@Haufe Mediengruppe

7

iDeskContent-Retrieval

PortaleShops

Business-Comm.

HRSSGML-CMS

Page 8: Konfigurationsgesteuerte Buildouts   Dzug 2008

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

Page 9: Konfigurationsgesteuerte Buildouts   Dzug 2008

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

Page 10: Konfigurationsgesteuerte Buildouts   Dzug 2008

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

Page 11: Konfigurationsgesteuerte Buildouts   Dzug 2008

10

haufeskel Templates (2)

basierend auf Paster und ZopeSkel

paster create --list-templates

paster create -t <your_project_template>

Page 12: Konfigurationsgesteuerte Buildouts   Dzug 2008

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

Page 13: Konfigurationsgesteuerte Buildouts   Dzug 2008

12

Fragen?

Page 14: Konfigurationsgesteuerte Buildouts   Dzug 2008

12

Fragen?

Page 15: Konfigurationsgesteuerte Buildouts   Dzug 2008

Vielen Dank für Ihre Aufmerksamkeit

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

ZOPYX Ltd. & Co. KGCharlottenstr. 37/172070 TübingenTel. 07071/[email protected]

13