Upload
andreas-jung
View
786
Download
1
Embed Size (px)
Citation preview
Wenn Buildout nicht gut genug ist:Konfigurationsgesteuerte Buildouts
1
9. DZUG Konferenz Saarbrücken
September 2008
Andreas Jungwww.zopyx.de, [email protected]
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/[email protected]
13