2. Über Gepardec
⃫ Gepardec IT Services GmbH
⃫ Gründung 2014
⃫ Geschäftsführer: Dr. Erhard Siegl, Dr. Günter Pirklbauer
⃫ Kerngeschäft: Individual-Softwarehersteller für
Organisationen und Unternehmen, Spezialisiert auf Java
Enterprise Lösungen und Cloud Technologien von Red Hat
⃫ 26 Mitarbeiter, Tendenz steigend
⃫ Standorte: Wien – Tech Gate, Linz – Europaplatz
3. The Setting
⃫ Public Sector
⃫ Development and operations separated
⃫ Linux, JBoss, Oracle
⃫ Deployments often difficult (emotional)
5. ...and more of the same
Produktion Produktionstest
FA-Test
Schulung
Integrationstest
Lasttest
Entwicklung
Continous Integration
6. Ziele
⃫ Z01: Es ist ein einheitlicher automatisierter Deploymentprozess für alle
BVA Applikationen über alle Stages vorhanden.
⃫ Z02: Es ist ein zentral verwaltbares Konfigurationsrepository vorhanden.
⃫ Z03: Die Aufgaben und Verantwortlichkeiten für die Rollen im
Deploymentprozess sind geklärt und Namenskonventionen die
Installationsartefakte und Zielumgebungen betreffend sind etabliert.
⃫ Schneller, besser, weniger Fehler,...
7. Was ist Deployment?
⃫ Alle Tätigkeiten vom Deploymentauftrag bis zur funktionierendern Anwendung
⃫ Datenbank
– Schema anpassen
– Steuerdaten einspielen
⃫ JBoss bereitstellen
– JBoss auspacken
– Speicherparameter setzen
– JBoss Module erzeugen
– Logging, Security & Datasources konfigurieren
– System Properties setzen
– Verbindungen zu anderen Systemen definieren
– EAR or WAR deployen
11. package_descriptor.json
{
"flyway_install": {
"config": "flyway-install/config"
},
"flyway_pkg": {
"artifact_id": "flyway",
"classifier": "",
"extension": "zip",
"group_id": "org.flywaydb",
"version": "4.2.0"
},
"java_version": "jdk1.8.0_181",
"jboss_install": {
"config": "jboss-install/config",
"modules": "jboss-install/modules"
},
"jboss_pkg": {
"artifact_id": "jboss-eap",
"classifier": "",
"extension": "zip",
"group_id": "org.jboss",
"version": "6.4.0"
},
prerequisites: [
{
"artifact_id": "configdependency",
"classifier": "pkg",
"extension": "zip",
"group_id": "at.test",
"version": "1.0.0"
}
]
}
Which Flyway-Version is needed for the installation?
Which Java version is needed forthe application?
Which JBoss version is needed for the application?
What are the prerequisites for the application?
Format of the
Package
Maven
Dependencies
12. What is does
1)Download installation package from Maven repository
2)Unpack and analyse the installation package
3)Download Dependencies
4)Process j2-Templates
5)Stopp JBoss servers (if it exists)
6)Upgrade database
7)Delete and rebuild JBoss instance
13. Designprinzipien
⃫ Strikte Trennung zwischen Anwendungseigenschaften und
Umgebungseigenschaften
⃫ Keine anwendungsspezifische Konfiguration in den Ansible-Skripts
⃫ Kompatibilität mit zukünftigen Änderungen
⃫ Kompatibilität mit JBSS (https://github.com/Gepardec/JBSS/)
15. Pros and Cons
⃫ Ansible easy for admins
⃫ Ansible not a real programming language
⃫ Package format is not standard
⃫ No proprietary tools necessary