Die perfekte Build-Pipeline

Größe: px
Ab Seite anzeigen:

Download "Die perfekte Build-Pipeline"

Transkript

1 Die perfekte Build-Pipeline Ohne Mühen Webprojekte bauen Qafoo GmbH October 25, 2012 Die perfekte Build-Pipeline 1 / 44

2 What comes next? Willkommen Die perfekte Build-Pipeline 2 / 44

3 Über uns Jakob Westhoff Mehr als 11 Jahre Erfahrung mit professioneller PHP Entwicklung Mehr als 8 Jahre professionelle JavaScript Erfahrung Open-Source Entusiast Regelmäßiger Sprecher auf (inter)nationalen Konferenzen Consultant, Trainer und Author Working with Qafoo passion for software quality Die perfekte Build-Pipeline 2 / 44

4 Über uns Manuel Pichler Diplominformatiker Mehr als 12 Jahre Erfahrung im PHP-Umfeld Autor hinter diversen QA-Tools Co-founders of Qafoo passion for software quality Die perfekte Build-Pipeline 2 / 44

5 Über uns Manuel Pichler Diplominformatiker Mehr als 12 Jahre Erfahrung im PHP-Umfeld Autor hinter diversen QA-Tools Co-founders of Qafoo passion for software quality We help people to create high quality web applications. Die perfekte Build-Pipeline 2 / 44

6 Über uns Manuel Pichler Diplominformatiker Mehr als 12 Jahre Erfahrung im PHP-Umfeld Autor hinter diversen QA-Tools Co-founders of Qafoo passion for software quality We help people to create high quality web applications. Die perfekte Build-Pipeline 2 / 44

7

8

9 Ziele dieser Session Motivation Anforderungen an ein Build-System für Web-Projekte Evaluation möglicher Kandidaten Vorstellung von Lösungsmöglichkeiten Die perfekte Build-Pipeline 5 / 44

10 What comes next? Motivation Die perfekte Build-Pipeline 6 / 44

11 Motivation Webprojekte sind extrem komplexe verteilte Systeme Viele verschiedene Dienste und Komponenten interagieren miteinander Unterschiedliche Setup-Prozesse für die einzelnen Systeme sind nötig Webprojekte setzen sich aus unterschiedlichen Sprachen zusammen (PHP, JavaScript,...) Metriken und Tests sollen mittels CI automatisiert ausgeführt und überwacht werden Deployment auf Application Server Die perfekte Build-Pipeline 6 / 44

12 Motivation Webprojekte sind extrem komplexe verteilte Systeme Viele verschiedene Dienste und Komponenten interagieren miteinander Unterschiedliche Setup-Prozesse für die einzelnen Systeme sind nötig Webprojekte setzen sich aus unterschiedlichen Sprachen zusammen (PHP, JavaScript,...) Metriken und Tests sollen mittels CI automatisiert ausgeführt und überwacht werden Deployment auf Application Server Die perfekte Build-Pipeline 6 / 44

13 Motivation Webprojekte sind extrem komplexe verteilte Systeme Viele verschiedene Dienste und Komponenten interagieren miteinander Unterschiedliche Setup-Prozesse für die einzelnen Systeme sind nötig Webprojekte setzen sich aus unterschiedlichen Sprachen zusammen (PHP, JavaScript,...) Metriken und Tests sollen mittels CI automatisiert ausgeführt und überwacht werden Deployment auf Application Server Die perfekte Build-Pipeline 6 / 44

14 Motivation Webprojekte sind extrem komplexe verteilte Systeme Viele verschiedene Dienste und Komponenten interagieren miteinander Unterschiedliche Setup-Prozesse für die einzelnen Systeme sind nötig Webprojekte setzen sich aus unterschiedlichen Sprachen zusammen (PHP, JavaScript,...) Metriken und Tests sollen mittels CI automatisiert ausgeführt und überwacht werden Deployment auf Application Server Die perfekte Build-Pipeline 6 / 44

15 Motivation Webprojekte sind extrem komplexe verteilte Systeme Viele verschiedene Dienste und Komponenten interagieren miteinander Unterschiedliche Setup-Prozesse für die einzelnen Systeme sind nötig Webprojekte setzen sich aus unterschiedlichen Sprachen zusammen (PHP, JavaScript,...) Metriken und Tests sollen mittels CI automatisiert ausgeführt und überwacht werden Deployment auf Application Server Die perfekte Build-Pipeline 6 / 44

16 Motivation Webprojekte sind extrem komplexe verteilte Systeme Viele verschiedene Dienste und Komponenten interagieren miteinander Unterschiedliche Setup-Prozesse für die einzelnen Systeme sind nötig Webprojekte setzen sich aus unterschiedlichen Sprachen zusammen (PHP, JavaScript,...) Metriken und Tests sollen mittels CI automatisiert ausgeführt und überwacht werden Deployment auf Application Server Die perfekte Build-Pipeline 6 / 44

17 Awesome Motivation Awesome Shop 0 articles 0.00 Shop Blog News Search Awesome Tweets Lorem ipsum dolor sit amet, consectetur 2 minutes ago Lorem ipsum dolor sit amet, consectetur 23 minutes ago Smartphone Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Comments 1337,-- 5 items in stock Lorem ipsum dolor sit amet, consectetur 42 minutes ago Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor. Heutige Webprojekte sind komplexe Applikationen Die perfekte Build-Pipeline 7 / 44

18 Awesome Motivation Shop Blog News Sie bestehen aus unterschiedlichen Sub-Applikationen Die perfekte Build-Pipeline 8 / 44

19 Awesome Motivation Shop Blog News Sie bestehen aus unterschiedlichen Sub-Applikationen Die perfekte Build-Pipeline 8 / 44

20 Awesome Motivation Shop Blog News Sie bestehen aus unterschiedlichen Sub-Applikationen Die perfekte Build-Pipeline 8 / 44

21 Awesome Motivation Shop Blog News Sie bestehen aus unterschiedlichen Sub-Applikationen Die perfekte Build-Pipeline 8 / 44

22 Awesome Motivation 0 articles 0.00 Shop Blog News Smartphone Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 1337,-- 5 items in stock Tiefe Abhängigkeitsbeziehungen sind keine Seltenheit Die perfekte Build-Pipeline 9 / 44

23 Awesome Motivation Shop Blog News Comments Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor. Gemeinsame Abhängigkeiten existieren Die perfekte Build-Pipeline 10 / 44

24 Awesome Motivation Search Externe Abhängigkeiten existieren: Solr,... Die perfekte Build-Pipeline 11 / 44

25 Awesome Motivation Awesome Tweets Lorem ipsum dolor sit amet, consectetur 2 minutes ago Lorem ipsum dolor sit amet, consectetur 23 minutes ago Lorem ipsum dolor sit amet, consectetur 42 minutes ago Multiple Sprachen finden Einsatz: Twitter JavaScript-API Die perfekte Build-Pipeline 12 / 44

26 Awesome Motivation Globales Resourcenmanagement ist erforderlich Die perfekte Build-Pipeline 13 / 44

27 Awesome Motivation Awesome Shop 0 articles 0.00 Shop Blog News Search Awesome Tweets Lorem ipsum dolor sit amet, consectetur 2 minutes ago Lorem ipsum dolor sit amet, consectetur 23 minutes ago Smartphone Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Comments 1337,-- 5 items in stock Lorem ipsum dolor sit amet, consectetur 42 minutes ago Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor. Händisch? Ohne Automatisierung? Die perfekte Build-Pipeline 14 / 44

28 Awesome Motivation Awesome Shop 0 articles 0.00 Shop Blog News Search Awesome Tweets Lorem ipsum dolor sit amet, consectetur 2 minutes ago Lorem ipsum dolor sit amet, consectetur 23 minutes ago Smartphone Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Comments 1337,-- 5 items in stock Lorem ipsum dolor sit amet, consectetur 42 minutes ago Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor. Händisch? Ohne Automatisierung? Ohne mich! Die perfekte Build-Pipeline 14 / 44

29 What comes next? Anforderungen Die perfekte Build-Pipeline 15 / 44

30 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 15 / 44

31 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 15 / 44

32 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 15 / 44

33 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 15 / 44

34 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 15 / 44

35 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 15 / 44

36 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 15 / 44

37 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Die perfekte Build-Pipeline 16 / 44

38 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Source Checkout SQL Generation Configs Testing Reports Execution Deployment Packaging Die perfekte Build-Pipeline 16 / 44

39 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Build Testing Dokumentation Qualitätssicherung Deployment Asset-Management Die perfekte Build-Pipeline 16 / 44

40 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Build Testing Dokumentation Qualitätssicherung Deployment Asset-Management Die perfekte Build-Pipeline 16 / 44

41 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Build Testing Dokumentation Qualitätssicherung Deployment Asset-Management Die perfekte Build-Pipeline 16 / 44

42 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Build Testing Dokumentation Qualitätssicherung Deployment Asset-Management Die perfekte Build-Pipeline 16 / 44

43 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Build Testing Dokumentation Qualitätssicherung Deployment Asset-Management Die perfekte Build-Pipeline 16 / 44

44 Software Lifecycle Jedes Projekt hat nahezu den gleichen Software Lifecycle Build Testing Dokumentation Qualitätssicherung Deployment Asset-Management Die perfekte Build-Pipeline 16 / 44

45 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 17 / 44

46 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

47 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

48 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

49 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

50 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

51 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

52 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

53 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

54 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

55 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

56 Einfache Konfiguration Convention over Configuration Andere machen es vor PEAR Symfony PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Die perfekte Build-Pipeline 18 / 44

57 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 19 / 44

58 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

59 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

60 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

61 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

62 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

63 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

64 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

65 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

66 Unterstützung für bekannte Tools / Erweiterbarkeit Software Lifecycle gibt die Grundstruktur vor Jeder Buildschritt sollte non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Erweiterungen für gängige Tools sollten existieren Die perfekte Build-Pipeline 20 / 44

67 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 21 / 44

68 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $n Abhängigkeiten installieren zu müssen Integration bekannter Packetmanager wie PEAR, Composer, npm, Bower,... wünschenswert Abhängigkeiten sollten lokal zum Projekt installiert werden Spezifische Versionen für jedes Projekt Keine unnötige Verunreinigung des Systems Sandboxed build in CI Systemen möglich Die perfekte Build-Pipeline 22 / 44

69 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $n Abhängigkeiten installieren zu müssen Integration bekannter Packetmanager wie PEAR, Composer, npm, Bower,... wünschenswert Abhängigkeiten sollten lokal zum Projekt installiert werden Spezifische Versionen für jedes Projekt Keine unnötige Verunreinigung des Systems Sandboxed build in CI Systemen möglich Die perfekte Build-Pipeline 22 / 44

70 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $n Abhängigkeiten installieren zu müssen Integration bekannter Packetmanager wie PEAR, Composer, npm, Bower,... wünschenswert Abhängigkeiten sollten lokal zum Projekt installiert werden Spezifische Versionen für jedes Projekt Keine unnötige Verunreinigung des Systems Sandboxed build in CI Systemen möglich Die perfekte Build-Pipeline 22 / 44

71 Anforderungen an ein Build-System Korrekte Behandlung des Software Lifecycle Einfache Konfiguration mit minimalem Aufwand Integrierte Unterstützung für bekannte Tools Einfach erweiterbar für spezielle Aufgaben Unabhängige Buildumgebung / Automatische Installation von Abhängigkeiten Abhängigkeitsmanagement zur Vermeidung doppelter Ausführung Die perfekte Build-Pipeline 23 / 44

72 Abhängigkeitsmanagement Das Build-System sollte die Abhängigkeiten des Software Lifecycles kennen Automatische Bestimmung der nötigen Schritte zum Erreichen eines bestimmten Ziels Berücksichtigung bereits erzeugter Zwischenergebnisse zur Beschleunigung des Prozesses Die perfekte Build-Pipeline 24 / 44

73 Abhängigkeitsmanagement Das Build-System sollte die Abhängigkeiten des Software Lifecycles kennen Automatische Bestimmung der nötigen Schritte zum Erreichen eines bestimmten Ziels Berücksichtigung bereits erzeugter Zwischenergebnisse zur Beschleunigung des Prozesses Die perfekte Build-Pipeline 24 / 44

74 Abhängigkeitsmanagement Das Build-System sollte die Abhängigkeiten des Software Lifecycles kennen Automatische Bestimmung der nötigen Schritte zum Erreichen eines bestimmten Ziels Berücksichtigung bereits erzeugter Zwischenergebnisse zur Beschleunigung des Prozesses Die perfekte Build-Pipeline 24 / 44

75 What comes next? Evaluation Die perfekte Build-Pipeline 25 / 44

76 Mögliche Kandidaten Custom Scripts Phing Pake Ant Maven Capistrano Fabric GruntJs... und noch viele Weitere Die perfekte Build-Pipeline 25 / 44

77 Mögliche Kandidaten Custom Scripts Phing Pake Ant Maven Capistrano Fabric GruntJs... und noch viele Weitere Die perfekte Build-Pipeline 25 / 44

78 Custom Scripts Pro Contra Maximale Flexibilität Scriptsprache der Wahl Systemnahe Verwendung externer Tools Niedrige Lernkurve/Einstiegshürde Plattform-spezifisch Projekt-spezifisch Keine einfache Wiederverwendbarkeit Schnell sinkende Wartbarkeit Die perfekte Build-Pipeline 26 / 44

79 Custom Scripts Pro Contra Maximale Flexibilität Scriptsprache der Wahl Systemnahe Verwendung externer Tools Niedrige Lernkurve/Einstiegshürde Plattform-spezifisch Projekt-spezifisch Keine einfache Wiederverwendbarkeit Schnell sinkende Wartbarkeit Die perfekte Build-Pipeline 26 / 44

80 Ant Pro Contra Plattform-unabhängig Gute IDE Integration Integriertes Abhängigkeits-Management Ausgereift und gut dokumentiert Projekt-spezifisch Ausufernde XML-Syntax Keine einfache Wiederverwendbarkeit Java Runtime benötigt Die perfekte Build-Pipeline 27 / 44

81 Ant Pro Contra Plattform-unabhängig Gute IDE Integration Integriertes Abhängigkeits-Management Ausgereift und gut dokumentiert Projekt-spezifisch Ausufernde XML-Syntax Keine einfache Wiederverwendbarkeit Java Runtime benötigt Die perfekte Build-Pipeline 27 / 44

82 Ant Pro Contra Plattform-unabhängig Gute IDE Integration Integriertes Abhängigkeits-Management Ausgereift und gut dokumentiert Projekt-spezifisch Ausufernde XML-Syntax Keine einfache Wiederverwendbarkeit Java Runtime benötigt Die perfekte Build-Pipeline 27 / 44

83 Phing Pro Keine Java Runtime benötigt Integriertes Abhängigkeits-Management Gute PHPStorm Integration Contra Projekt-spezifisch Ausufernde XML-Syntax Keine einfache Wiederverwendbarkeit PHP benötigt ;-) Die perfekte Build-Pipeline 28 / 44

84 Phing Pro Keine Java Runtime benötigt PHP basiertes System Integriertes Abhängigkeits-Management Gute PHPStorm Integration Contra Projekt-spezifisch Ausufernde XML-Syntax Keine einfache Wiederverwendbarkeit PHP benötigt ;-) Die perfekte Build-Pipeline 28 / 44

85 Phing Pro Keine Java Runtime benötigt PHP basiertes System Integriertes Abhängigkeits-Management Gute PHPStorm Integration Contra Projekt-spezifisch Ausufernde XML-Syntax Keine einfache Wiederverwendbarkeit PHP benötigt ;-) Die perfekte Build-Pipeline 28 / 44

86 Phing Pro Keine Java Runtime benötigt PHP basiertes System Integriertes Abhängigkeits-Management Gute PHPStorm Integration Contra Projekt-spezifisch Ausufernde XML-Syntax Keine einfache Wiederverwendbarkeit PHP benötigt ;-) Die perfekte Build-Pipeline 28 / 44

87 Maven Pro Contra Convention over Configuration Ausgereifter Software Lifecycle mit Erweiterungspunkten Multi-Projekt-Untestützung Maven-PHP-Plugin existiert Schwerpunkt auf Java-Projekte und Entwicklung Steile Lernkurve Java Runtime benötigt Die perfekte Build-Pipeline 29 / 44

88 Maven Pro Contra Convention over Configuration Ausgereifter Software Lifecycle mit Erweiterungspunkten Multi-Projekt-Untestützung Maven-PHP-Plugin existiert Schwerpunkt auf Java-Projekte und Entwicklung Steile Lernkurve Java Runtime benötigt Die perfekte Build-Pipeline 29 / 44

89 GruntJs Pro Contra Niedrige Lernkurve/Einstiegshürde Große Anzahl existierender Module/Templates Gute Dokumentation JavaScript spezifisch Kein Dependency Management Nodesjs benötigt Die perfekte Build-Pipeline 30 / 44

90 GruntJs Pro Contra Niedrige Lernkurve/Einstiegshürde Große Anzahl existierender Module/Templates Gute Dokumentation JavaScript spezifisch Kein Dependency Management Nodesjs benötigt Die perfekte Build-Pipeline 30 / 44

91 Ergebnis der Evaluation Keines der Buildsysteme erfüllt alle Anforderungen Jedes system-unabhängige Tool benötigt eine spezielle Laufzeit-Umgebung Maven erfüllt offensichtlich die meisten Anforderungen Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur Leider fügt sich Maven auch mit dem PHP-Plugin nur bedingt in den Entwicklungsprozess von PHP-Webprojekten ein Die perfekte Build-Pipeline 31 / 44

92 Ergebnis der Evaluation Keines der Buildsysteme erfüllt alle Anforderungen Jedes system-unabhängige Tool benötigt eine spezielle Laufzeit-Umgebung Maven erfüllt offensichtlich die meisten Anforderungen Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur Leider fügt sich Maven auch mit dem PHP-Plugin nur bedingt in den Entwicklungsprozess von PHP-Webprojekten ein Die perfekte Build-Pipeline 31 / 44

93 Ergebnis der Evaluation Keines der Buildsysteme erfüllt alle Anforderungen Jedes system-unabhängige Tool benötigt eine spezielle Laufzeit-Umgebung Maven erfüllt offensichtlich die meisten Anforderungen Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur Leider fügt sich Maven auch mit dem PHP-Plugin nur bedingt in den Entwicklungsprozess von PHP-Webprojekten ein Die perfekte Build-Pipeline 31 / 44

94 Ergebnis der Evaluation Keines der Buildsysteme erfüllt alle Anforderungen Jedes system-unabhängige Tool benötigt eine spezielle Laufzeit-Umgebung Maven erfüllt offensichtlich die meisten Anforderungen Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur Leider fügt sich Maven auch mit dem PHP-Plugin nur bedingt in den Entwicklungsprozess von PHP-Webprojekten ein Die perfekte Build-Pipeline 31 / 44

95 Ergebnis der Evaluation Keines der Buildsysteme erfüllt alle Anforderungen Jedes system-unabhängige Tool benötigt eine spezielle Laufzeit-Umgebung Maven erfüllt offensichtlich die meisten Anforderungen Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur Leider fügt sich Maven auch mit dem PHP-Plugin nur bedingt in den Entwicklungsprozess von PHP-Webprojekten ein Die perfekte Build-Pipeline 31 / 44

96 Ergebnis der Evaluation Eine Alternative muss her! Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten ABC Die perfekte Build-Pipeline 32 / 44

97 Ergebnis der Evaluation Eine Alternative muss her! Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten ABC Die perfekte Build-Pipeline 32 / 44

98 Ergebnis der Evaluation Eine Alternative muss her! Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten ABC Die perfekte Build-Pipeline 32 / 44

99 Ergebnis der Evaluation Eine Alternative muss her! Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten ABC Die perfekte Build-Pipeline 32 / 44

100 Ergebnis der Evaluation Eine Alternative muss her! Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten ABC... Häh? Die perfekte Build-Pipeline 32 / 44

101 Ergebnis der Evaluation Eine Alternative muss her! Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten Ant-Build-Commons Die perfekte Build-Pipeline 32 / 44

102 Ant-Build-Commons Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten ;-) Die perfekte Build-Pipeline 33 / 44

103 Ant-Build-Commons Die Struktur, Konzepte und Flexibilität von Maven Ausgerichtet am Workflow von PHP-Webprojekten ;-) Die perfekte Build-Pipeline 33 / 44

104 Ant-Build-Commons OpenSource Build-System unter New-BSD license Basiert auf Apache Ant Initial entwickelt von Manuel im Kontext von PHP Depend, PHPMD, staticreflection,... Weiterentwickelt und gepflegt von Qafoo Die perfekte Build-Pipeline 34 / 44

105 Ant-Build-Commons OpenSource Build-System unter New-BSD license Basiert auf Apache Ant Initial entwickelt von Manuel im Kontext von PHP Depend, PHPMD, staticreflection,... Weiterentwickelt und gepflegt von Qafoo Die perfekte Build-Pipeline 34 / 44

106 Ant-Build-Commons OpenSource Build-System unter New-BSD license Basiert auf Apache Ant Initial entwickelt von Manuel im Kontext von PHP Depend, PHPMD, staticreflection,... Weiterentwickelt und gepflegt von Qafoo Die perfekte Build-Pipeline 34 / 44

107 Ant-Build-Commons OpenSource Build-System unter New-BSD license Basiert auf Apache Ant Initial entwickelt von Manuel im Kontext von PHP Depend, PHPMD, staticreflection,... Weiterentwickelt und gepflegt von Qafoo Die perfekte Build-Pipeline 34 / 44

108 Minimaler Konfigurationsaufwand Die perfekte Build-Pipeline 35 / 44

109 Minimaler Konfigurationsaufwand Die perfekte Build-Pipeline 35 / 44

110 Minimaler Konfigurationsaufwand build.xml 1 <?xml version= 1.0 encoding= UTF 8?> 2 <project name= PHP Depend basedir =. > 3 <property f i l e = b u i l d. p r o p e r t i e s /> 4 5 <import f i l e = setup / src / main / xml / base. xml /> 6 < / project> build.properties 1 p r o j e c t. u r i = pdepend. org 2 p r o j e c t. name = pdepend 3 p r o j e c t. version = p r o j e c t. s t a b i l i t y = s t a b l e Die perfekte Build-Pipeline 36 / 44

111 Minimaler Konfigurationsaufwand build.xml 1 <?xml version= 1.0 encoding= UTF 8?> 2 <project name= PHP Depend basedir =. > 3 <property f i l e = b u i l d. p r o p e r t i e s /> 4 5 <import f i l e = setup / src / main / xml / base. xml /> 6 < / project> build.properties 1 p r o j e c t. u r i = pdepend. org 2 p r o j e c t. name = pdepend 3 p r o j e c t. version = p r o j e c t. s t a b i l i t y = s t a b l e Die perfekte Build-Pipeline 36 / 44

112 Minimaler Konfigurationsaufwand build.xml 1 <?xml version= 1.0 encoding= UTF 8?> 2 <project name= PHP Depend basedir =. > 3 <property f i l e = b u i l d. p r o p e r t i e s /> 4 5 <import f i l e = setup / src / main / xml / base. xml /> 6 < / project> build.properties 1 p r o j e c t. u r i = pdepend. org 2 p r o j e c t. name = pdepend 3 p r o j e c t. version = p r o j e c t. s t a b i l i t y = s t a b l e Die perfekte Build-Pipeline 36 / 44

113 Minimaler Konfigurationsaufwand build.xml 1 <?xml version= 1.0 encoding= UTF 8?> 2 <project name= PHP Depend basedir =. > 3 <property f i l e = b u i l d. p r o p e r t i e s /> 4 5 <import f i l e = setup / src / main / xml / base. xml /> 6 < / project> build.properties 1 p r o j e c t. u r i = pdepend. org 2 p r o j e c t. name = pdepend 3 p r o j e c t. version = p r o j e c t. s t a b i l i t y = s t a b l e Die perfekte Build-Pipeline 36 / 44

114 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

115 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

116 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

117 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

118 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

119 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

120 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

121 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

122 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

123 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

124 Fest definierter Software Lifecycle initialize compile test bundle package integration-test verify install deploy Ant-Extension-Points für jeden Build-Schritt Mitgelieferte Extensions Database PhpUnit PHPMD DbDeploy RequireJS Composer jshint Sonar... Die perfekte Build-Pipeline 37 / 44

125 Convention over Configuration Standartisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Alle Datei- und Verzeichnisnamen sind vollständig konfigurierbar Die perfekte Build-Pipeline 38 / 44

126 Convention over Configuration Standartisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Alle Datei- und Verzeichnisnamen sind vollständig konfigurierbar Die perfekte Build-Pipeline 38 / 44

127 Convention over Configuration Standartisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Alle Datei- und Verzeichnisnamen sind vollständig konfigurierbar Die perfekte Build-Pipeline 38 / 44

128 Convention over Configuration Standartisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Alle Datei- und Verzeichnisnamen sind vollständig konfigurierbar Die perfekte Build-Pipeline 38 / 44

129 Convention over Configuration Standartisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Alle Datei- und Verzeichnisnamen sind vollständig konfigurierbar Die perfekte Build-Pipeline 38 / 44

130 Convention over Configuration Standartisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Alle Datei- und Verzeichnisnamen sind vollständig konfigurierbar Die perfekte Build-Pipeline 38 / 44

131 Convention over Configuration Standartisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Alle Datei- und Verzeichnisnamen sind vollständig konfigurierbar Die perfekte Build-Pipeline 38 / 44

132 Unabhängige Buildumgebung Minimale Abhängigkeiten Automatische Installation benötigter Komponenten Projekt-Abhängigkeits-Verwaltung mittels Composer und PEAR ABC installiert Abhängigkeiten grundsätzlich lokal zum Projekt für einen Sandboxed-Build Die perfekte Build-Pipeline 39 / 44

133 Unabhängige Buildumgebung Minimale Abhängigkeiten Automatische Installation benötigter Komponenten Projekt-Abhängigkeits-Verwaltung mittels Composer und PEAR ABC installiert Abhängigkeiten grundsätzlich lokal zum Projekt für einen Sandboxed-Build Die perfekte Build-Pipeline 39 / 44

134 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

135 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

136 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

137 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

138 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

139 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

140 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

141 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

142 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

143 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

144 Weitere Features Unterschiedliche Build-Environments (testing, production,...) Unterstützung von JavaScript Projekten (requirejs, uglifyjs, jslint, jshint, js-test-driver) (beta) Subprojekt-Unterstützung Asset-Management Unterstützung (beta) Generierung und Management von Projektseiten Vagrant-Integration Verteilte Ausführung auf mehreren Nodes Diverse QA-Tools (PHPMD, PDepend, CodeSniffer,...)... Die perfekte Build-Pipeline 40 / 44

145 What comes next? Demo Time! Die perfekte Build-Pipeline 41 / 44

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219 What comes next? Fazit Die perfekte Build-Pipeline 42 / 44

220 Fazit Build-Systeme sind aufgrund hoher Komplexität und Systemvielfalt ein Muss heutiger Web-Projekte Die Festlegung auf ein spezifisches System bietet viele Vorteile Messbare Zeitersparnis beim Projektwechsel Einheitlicher Prozess auf allen Systemen Development Continuous-Integration Testing/Stageing Production Extrem geringer Konfigurationsaufwand bei neuen Projekten Wiederverwendbarkeit von Modulen durch klare Strukturierung Die perfekte Build-Pipeline 42 / 44

221 Fazit Build-Systeme sind aufgrund hoher Komplexität und Systemvielfalt ein Muss heutiger Web-Projekte Die Festlegung auf ein spezifisches System bietet viele Vorteile Messbare Zeitersparnis beim Projektwechsel Einheitlicher Prozess auf allen Systemen Development Continuous-Integration Testing/Stageing Production Extrem geringer Konfigurationsaufwand bei neuen Projekten Wiederverwendbarkeit von Modulen durch klare Strukturierung Die perfekte Build-Pipeline 42 / 44

222 Fazit Build-Systeme sind aufgrund hoher Komplexität und Systemvielfalt ein Muss heutiger Web-Projekte Die Festlegung auf ein spezifisches System bietet viele Vorteile Messbare Zeitersparnis beim Projektwechsel Einheitlicher Prozess auf allen Systemen Development Continuous-Integration Testing/Stageing Production Extrem geringer Konfigurationsaufwand bei neuen Projekten Wiederverwendbarkeit von Modulen durch klare Strukturierung Die perfekte Build-Pipeline 42 / 44

223 Fazit Build-Systeme sind aufgrund hoher Komplexität und Systemvielfalt ein Muss heutiger Web-Projekte Die Festlegung auf ein spezifisches System bietet viele Vorteile Messbare Zeitersparnis beim Projektwechsel Einheitlicher Prozess auf allen Systemen Development Continuous-Integration Testing/Stageing Production Extrem geringer Konfigurationsaufwand bei neuen Projekten Wiederverwendbarkeit von Modulen durch klare Strukturierung Die perfekte Build-Pipeline 42 / 44

224 Fazit Build-Systeme sind aufgrund hoher Komplexität und Systemvielfalt ein Muss heutiger Web-Projekte Die Festlegung auf ein spezifisches System bietet viele Vorteile Messbare Zeitersparnis beim Projektwechsel Einheitlicher Prozess auf allen Systemen Development Continuous-Integration Testing/Stageing Production Extrem geringer Konfigurationsaufwand bei neuen Projekten Wiederverwendbarkeit von Modulen durch klare Strukturierung Die perfekte Build-Pipeline 42 / 44

225 Fazit Build-Systeme sind aufgrund hoher Komplexität und Systemvielfalt ein Muss heutiger Web-Projekte Die Festlegung auf ein spezifisches System bietet viele Vorteile Messbare Zeitersparnis beim Projektwechsel Einheitlicher Prozess auf allen Systemen Development Continuous-Integration Testing/Stageing Production Extrem geringer Konfigurationsaufwand bei neuen Projekten Wiederverwendbarkeit von Modulen durch klare Strukturierung Die perfekte Build-Pipeline 42 / 44

226 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

227 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

228 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

229 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

230 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

231 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

232 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

233 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

234 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

235 ABC - Fazit Einsatz in OpenSource Projekten Schnelles Aufsetzen einer neuen Umgebung Minimaler Aufwand beim Wechsel zwischen Projekten Einfachere Adaption der Benutzer durch vollständig integrierten Build-Prozess Einsatz in Kunden Projekten Einfache Integration in bestehende Projektstrukturen Anpassung an bestehende Prozesse war möglich Fehlender Support diverser Tools zeigte Schwachtstellen auf......die halfen das Projekt zu verbessern Mit jeder weiteren Extension wird ABC besser und mächtiger Die perfekte Build-Pipeline 43 / 44

236 Vielen Dank für die Aufmerksamkeit Fragen, Kommentare oder Anmerkungen? Rate us: Slides: Jakob Westhoff Kontakt: Folgt Manuel Pichler Kontakt: Folgt Engagiert uns: Die perfekte Build-Pipeline 44 / 44

Vom lokalen Build zum Deployment

Vom lokalen Build zum Deployment Vom lokalen Build zum Deployment International PHP Conference Manuel Pichler 12.10.2011 Vom lokalen Build zum Deployment 1 / 36 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor

Mehr

Ablösung von Control-M durch JobScheduler

Ablösung von Control-M durch JobScheduler Ablösung von Control-M durch JobScheduler Integration des JobSchedulers in eine TWS Landschaft SOS Software GmbH Berlin, Germany Inhalt Rahmenbedingungen I & II Control-M Landschaft (früher) JobScheduler

Mehr

Maven 2 Softwareprojekte mit Kultur

Maven 2 Softwareprojekte mit Kultur Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark

Mehr

Einführung in Maven und GWT

Einführung in Maven und GWT Einführung in Maven und GWT Prof. Christoph Knabe Beuth-Hochschule Berlin 08.05.2014 Gliederung Motivation für Build-Werkzeug Maven-Ziele, Begriffe Maven-Benutzung in 5 min Maven-Vorteile GWT-Ziele GWT-Projekt

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp.

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp. Erfahrungen mit dem Insight Manager von HP Dipl. Ing. Elektrotechnik (FH) - Automatisierungs- / Regelungstechnik DV-Spezialist Landesbank Rheinland-Pfalz Abteilung 2-351 Große Bleiche 54-56 55098 Mainz

Mehr

ANT. Kurzvortrag von Manuel Schulze. [email protected]

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de ANT Kurzvortrag von Manuel Schulze [email protected] ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Continuous Delivery in der Realität eines Großunternehmens

Continuous Delivery in der Realität eines Großunternehmens Continuous Delivery in der Realität eines Großunternehmens Agile World, 28. Juni 2013 Christian Weber 01 Continuous Delivery Das Versprechen Das Versprechen Sch Entspanntes Release Time To Market 3 02

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann [email protected] 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH Database Change Management für Continuous Delivery Diana Lander und Andreas Falk NovaTec Consulting GmbH Die Vortragenden Andreas Falk Senior Consultant NovaTec Consulting GmbH Diana Lander Consultant

Mehr

Hardware- und Softwareanforderungen für die Installation von California.pro

Hardware- und Softwareanforderungen für die Installation von California.pro Hardware- und anforderungen für die Installation von California.pro In diesem Dokument werden die Anforderungen an die Hardware und zum Ausführen von California.pro aufgeführt. Arbeitsplatz mit SQL Server

Mehr

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend Klaus Berghald Senior Account Manager [email protected] +49 (0)89 51 61 99-18 Umsetzung IT Leiter Herr Dr. Pascal Rheinert Head

Mehr

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Inhaltsverzeichnis 1 Allgemein... 3 2 Erforderliche Anpassungen bei der Installation...3 2.1 Konfiguration Jboss 7 Applicationserver (Schritt 4/10)...3

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis

Mehr

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner [email protected]

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner [email protected] www.celix.at September 2015 celix Solutions GmbH Spezialist für Team Collaboration und IT Prozess Management Agile

Mehr

TYPO3 Installation und Konfiguration

TYPO3 Installation und Konfiguration TYPO3 Installation und Konfiguration TYPO3camp Munich 08 Alexander Ebner Installation Vorraussetzungen Apache, httpd light oder IIS PHP 5.2.0 GDlib ImageMagick/GraphicsMagick Die Wahl des Betriebsystems

Mehr

SERVICE SUCHE ZUR UNTERSTÜTZUNG

SERVICE SUCHE ZUR UNTERSTÜTZUNG SERVICE SUCHE ZUR UNTERSTÜTZUNG VON ANFORDERUNGSERMITTLUNG IM ERP BEREICH MARKUS NÖBAUER NORBERT SEYFF ERP SYSTEME Begriffsbestimmung: Enterprise Resource Planning / Business Management Solution Integrierte

Mehr

Consultant & Geschäftsführer, enpit consulting OHG E-Mail: [email protected]

Consultant & Geschäftsführer, enpit consulting OHG E-Mail: ugb@enpit.de ADF Spotlight - Entwicklungswerkzeuge & - methoden - ADF 12c mit Git, Maven & Co. - Status Quo Ulrich Gerkmann-Bartels Consultant & Geschäftsführer, enpit consulting OHG E-Mail: [email protected] +++ Bitte

Mehr

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Autor: Thomas Hanrath Microsoft Certified Trainer Titel SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Quelle: System

Mehr

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP XAMPP Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP XAMPP ist eine vollständig kostenlose, leicht zu installierende Apache-Distribution, die MySQL, PHP und Perl enthält. Das XAMPP

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger [email protected] Inhalt 1. Einführung... 3 2.

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

Einfach wie noch nie. Der mypackage-ansatz. Ihre Lösung zur automatisierten Client-Bereitstellung. mypackage im Überblick

Einfach wie noch nie. Der mypackage-ansatz. Ihre Lösung zur automatisierten Client-Bereitstellung. mypackage im Überblick Ihre Lösung zur automatisierten Client-Bereitstellung Die automatisierte Verteilung von Software und die Paketierung von Anwendungen werden in Unternehmen nach wie vor sehr unterschiedlich gehandhabt.

Mehr

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte

Mehr

Git in großen Projekten

Git in großen Projekten Git in großen Projekten Einsatz von Submodulen und Subtrees René Preißel ([email protected]) Buchhandlung Lehmanns, 16.10.2013 1 Über Mich René Preißel ([email protected]) Freiberuflicher Berater, Entwickler,

Mehr

Abacus Formula Compiler (AFC)

Abacus Formula Compiler (AFC) Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/

Mehr

Titel. App-V 5 Single Server Anleitung zur Installation

Titel. App-V 5 Single Server Anleitung zur Installation Autor: Thomas Hanrath Microsoft Certified Trainer Titel App-V 5 Single Server Anleitung zur Installation Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Quelle: System Center Blog von

Mehr

Hardware- und Softwareanforderungen für die Installation von California.pro

Hardware- und Softwareanforderungen für die Installation von California.pro Hardware- und anforderungen für die Installation von California.pro In den folgenden Abschnitten werden die Mindestanforderungen an die Hardware und zum Installieren und Ausführen von California.pro aufgeführt.

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2014 Express with management tools

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2014 Express with management tools Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2014 Express with Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte Funktionalität

Mehr

SFKV MAP Offline-Erfassungstool. Installationsanleitung

SFKV MAP Offline-Erfassungstool. Installationsanleitung SFKV MAP Offline-Erfassungstool Autor(en): Martin Schumacher Ausgabe: 16.02.2010 1. Allgemein Damit das Offlinetool von MAP ohne Internetverbindung betrieben werden kann, muss auf jedem Arbeitsplatz eine

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

This manual cannot be redistributed without permission from joomla-monster.com or vorlagenstudio.de

This manual cannot be redistributed without permission from joomla-monster.com or vorlagenstudio.de This manual cannot be redistributed without permission from joomla-monster.com or vorlagenstudio.de Visit the official website vorlagenstudio.de of this Joomla template and other thematic and high quality

Mehr

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte

Mehr

Titel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration

Titel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration Autor: Thomas Hanrath Microsoft Certified Trainer Titel System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration Eine beispielhafte Installationsanleitung

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2 Kurzanleitung zur Softwareverteilung von Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2 I. BitDefender Management Agenten Verteilung...2 1.1. Allgemeine Bedingungen:... 2 1.2. Erste

Mehr

Von Continuous Integration zu Continuous Deployment

Von Continuous Integration zu Continuous Deployment Von Continuous Integration zu Continuous Deployment Manuel Pichler 31. Mai 2010 Über mich Manuel Pichler Jahrgang 1978 Diplom Informatiker Softwarearchitekt Entwickler von: PHP_Depend

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

PCC Outlook Integration Installationsleitfaden

PCC Outlook Integration Installationsleitfaden PCC Outlook Integration Installationsleitfaden Kjell Guntermann, bdf solutions gmbh PCC Outlook Integration... 3 1. Einführung... 3 2. Installationsvorraussetzung... 3 3. Outlook Integration... 3 3.1.

Mehr

Installation EPLAN Electric P8 Version 2.4 64Bit Stand: 07/2014

Installation EPLAN Electric P8 Version 2.4 64Bit Stand: 07/2014 Installation EPLAN Electric P8 Version 2.4 64Bit Stand: 07/2014 Einleitung... 2 Allgemeine Voraussetzungen... 2 Installation EPLAN Electric P8 64 Bit mit Office 32 Bit... 3 1. Umstellen der EPLAN Artikel-

Mehr

Zwei Wege zur automatisierten SW Verteilung Am Beispiel der Lösungen von Jungheinrich. Matthias Nischwitz, 11.06.2015

Zwei Wege zur automatisierten SW Verteilung Am Beispiel der Lösungen von Jungheinrich. Matthias Nischwitz, 11.06.2015 Zwei Wege zur automatisierten SW Verteilung Am Beispiel der Lösungen von Jungheinrich Matthias Nischwitz, 11.06.2015 Ziel und Nutzen Ziel: Einführung eines Systems zur automatischen Konfiguration und Installation

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

EIDAMO Webshop-Lösung - White Paper

EIDAMO Webshop-Lösung - White Paper Stand: 28.11.2006»EIDAMO Screenshots«- Bildschirmansichten des EIDAMO Managers Systemarchitektur Die aktuelle EIDAMO Version besteht aus unterschiedlichen Programmteilen (Komponenten). Grundsätzlich wird

Mehr

Installation Microsoft SQL Server 2008 Express

Installation Microsoft SQL Server 2008 Express Installation Microsoft SQL Server 2008 Express Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte Funktion der SelectLine Applikation mit dem SQL Server

Mehr

BitDefender Client Security Kurzanleitung

BitDefender Client Security Kurzanleitung BitDefender Client Security Kurzanleitung...1 Appendix A Kurzanleitung mit Screenshots...2 BitDefender Client Security Kurzanleitung 1. Wählen Sie entweder 32 oder 64 bit Management Server aus dem BitDefender

Mehr

Konzept Projekt Lisa

Konzept Projekt Lisa Konzept Projekt Lisa Konzept für die. Als Basis für die Arbeit gelten die Abmachungen mit Glaxo Smith Kline, welche im Vorfeld dieser Arbeit getroffen wurden. 1.) Lösungsvorschlag Die Lösung besteht aus

Mehr

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt Die Entwicklung des Open-Source Source-Tools zum Datenbankabgleich von Karsten Panier Inhalt Motivation Vorstellung StIXDB Entstehungsgeschichte Open-Source-Entwicklung StIXDB Architektur Eclipse Einfluss

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

Standardisiert aber flexibel

Standardisiert aber flexibel AFCEA e.v. Mittagsforum 24.10.2008 Godesburg, Bonn-Bad Godesberg Standardisiert aber flexibel Prozessmodelle im Übergang von der Theorie in die Praxis. Brian Rosenberger Die Theorie Der entwickelt Verfahren

Mehr

SOLID EDGE INSTALLATION STANDARD PARTS am Client. INSTALLATION Standard Parts am Client

SOLID EDGE INSTALLATION STANDARD PARTS am Client. INSTALLATION Standard Parts am Client INSTALLATION Standard Parts am Client 1 Allgemeines Die ST4 Standard Parts benötigen den MS SQL SERVER 2005/2008 oder MS SQL SERVER 2005/2008 EXPRESS. Auf der Solid Edge DVD befindet sich der MS SQL SERVER

Mehr

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. www.epoconsulting.com. Stand 2015/04. EPO Consulting GmbH - 1 -

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. www.epoconsulting.com. Stand 2015/04. EPO Consulting GmbH - 1 - EPO Consulting GmbH Ihr Partner für HTML5 und SAP UI5 Apps www.epoconsulting.com Stand 2015/04 EPO Consulting GmbH - 1 - EPO Mobile Apps für HTML5 und SAP UI5 Apps SAP bietet künftig für alle SAP Produkte

Mehr

FAQ The FAQ/knowledge base. Version 2.1.1

FAQ The FAQ/knowledge base. Version 2.1.1 FAQ The FAQ/knowledge base. Version 2.1.1 (c) 2012 OTRS AG, http://otrs.org/ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 This work is copyrighted by OTRS AG, Norsk-Data-Str. 1, 61352 Bad

Mehr

Agile Software Verteilung

Agile Software Verteilung Agile Software Verteilung Vortrag: René Steg Steg IT-Engineering, Zürich (Schweiz) Gründe für Agile Software-Verteilung Wenn Sie Hunderte von Servern mit vielen Anwendungen betreiben Verteilte Anwendungen

Mehr

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Im Folgenden wird die Installation von MySQL 5.0 und Tomcat 5.0 beschrieben. Bei MySQL Server 5.0 handelt es sich um ein

Mehr

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ 0 Überblick ----------- Die Installation des GeoShop Redirector im Apache

Mehr

Deployment Deployment Seite 1 / 25

Deployment Deployment Seite 1 / 25 Seite 1 / 25 Versionskontrolle Seite 2 / 25 Verteilte Versionskontrollsysteme Seite 3 / 25 Seite 4 / 25 Zusammenfassung Versionskontrolle Wir verwenden bei der Entwicklung das dezentralisierte Versionskontrollsystem

Mehr

Deploy von PHP-Applikationen

Deploy von PHP-Applikationen Deploy von PHP-Applikationen Jan Burkl System Engineer Zend Technologies Wer bin ich? Jan Burkl [email protected] PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer Zend Certified

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

BUILDNOTES TOPAL FINANZBUCHHALTUNG

BUILDNOTES TOPAL FINANZBUCHHALTUNG BUILDNOTES TOPAL FINANZBUCHHALTUNG VERSION 7.5.11.0 Inhaltsverzeichnis 1. EINFÜHRUNG... 2 1.1. Zweck... 2 1.2. Neuerungen... 2 1.2.1. Import... 2 1.2.2. Importvorlagen... 3 1.2.3. Sicherheitseinstellungen...

Mehr

Nico Lüdemann. Applikationsvirtualisierung mit Microsoft SoftGrid 4 9.. Galileo Press

Nico Lüdemann. Applikationsvirtualisierung mit Microsoft SoftGrid 4 9.. Galileo Press Nico Lüdemann Applikationsvirtualisierung mit Microsoft SoftGrid 4 9.. Galileo Press 1.1 Der Bedarf-ein universeller Antrieb 11 1.2 Die Einteilung dieses Buches 12 1.3 Das Beispielunternehmen - unsere

Mehr

SMARTtill Server mit Manager

SMARTtill Server mit Manager SMARTtill Server mit Manager Benutzerhandbuch 2014 Das Handbuch bezieht sich auf die Standardeinstellungen bei einer Pilotinstallation. Bei neuen Partnernprojekten sind Anpassungen zwingend notwendig und

Mehr

WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

WEBINAR@LUNCHTIME THEMA: SAS STORED PROCESSES - SCHNELL GEZAUBERT HELENE SCHMITZ WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training

Mehr

Installationsanleitung dateiagent Pro

Installationsanleitung dateiagent Pro Installationsanleitung dateiagent Pro Sehr geehrter Kunde, mit dieser Anleitung möchten wir Ihnen die Installation des dateiagent Pro so einfach wie möglich gestalten. Es ist jedoch eine Softwareinstallation

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Installationsanleitung WibuKey Treiber

Installationsanleitung WibuKey Treiber Profi Line Warenwirtschaft Installationsanleitung WibuKey Treiber Bei der Installation der WibuKey ist zunächst zwischen der Serverinstallation und der reinen Client- bzw. Arbeitsplatzinstallation zu unterscheiden.

Mehr

MailUtilities: Remote Deployment - Einführung

MailUtilities: Remote Deployment - Einführung MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control

Mehr

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor: Client-Installation ec@ros2 ASP-Server 1. Allgemeine Informationen Für den Einsatz von ec@ros2 ist auf den Clients die Software Java Webstart (enthalten im Java Runtime Environment (JRE)) notwendig. Wir

Mehr

visionapp Base Installation Packages (vbip) Update

visionapp Base Installation Packages (vbip) Update visionapp Base Installation Packages (vbip) Update Juli 2005 Beschreibung der Installationspakete und Installationspaketschablonen Copyright visionapp GmbH, 2005. Alle Rechte vorbehalten. Die in diesem

Mehr

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4. SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen

Mehr

1.3 Erster Start des Aufmaß-Moduls und Anlegen der Datenbank

1.3 Erster Start des Aufmaß-Moduls und Anlegen der Datenbank 1. Installation auf einem Novell Server 1.1 Installation der Datenbank Pervasive SQL 2000i Die Server Engine der Pervasive SQL 2000i Datenbank wird auf dem Novell-Server über eine Arbeitsstation installiert.

Mehr

Installationsanleitung für. SugarCRM Open Source. Windows Einzelplatz

Installationsanleitung für. SugarCRM Open Source. Windows Einzelplatz Installationsanleitung für SugarCRM Open Source Windows Einzelplatz Inhaltsverzeichnis Systemvoraussetzungen... 3 WAMP5 Server... 3 Sugar CRM Open Source... 8 SugarCRM Dokumentation... 14 Deutsches Sprachpaket...

Mehr

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer Smap3D PDM 10 Installation Stand-Alone-Migration-Analyzer Smap3D PDM 10 Seite 1 Inhalt 1. Smap3D PDM 10 3 2. Installation Stand-Alone-Migration-Analyzer 3 Systemvoraussetzungen 3 Workstation (32 und 64

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Apache - Maven. Java-Erstellung auf Plugin-Basis. Martin Hoffmann

Apache - Maven. Java-Erstellung auf Plugin-Basis. Martin Hoffmann Apache - Maven Java-Erstellung auf Plugin-Basis Martin Hoffmann Übersicht Was ist Maven Alternative: Ant Arbeitsweise von Maven Standard Eigene Konfigurationen & Plugins Arbeiten im Team Aufteilen von

Mehr

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Individuelle Erweiterung des generierten Codes. 16. Januar 2013 Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene

Mehr

SQL Server 2008 Standard und Workgroup Edition

SQL Server 2008 Standard und Workgroup Edition September 2008 Produktgruppe: Server Lizenzmodell: Microsoft Server Server/ Serverlizenz Zugriffslizenz () pro Gerät Zugriffslizenz () pro Nutzer Produktgruppe: Server Lizenzmodell: Microsoft Server Pro

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Release Automation für Siebel

Release Automation für Siebel June 30 th 2015 Release Automation für Siebel Stefan Kures Agenda + Herausforderungen + Lösung mit Automic + Vorteile + Resultate 3 Property of Automic Software. All rights reserved Siebel als zentrale

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Artikel Test-Organisation in grösseren Magento(1)-Projekten

Artikel Test-Organisation in grösseren Magento(1)-Projekten Artikel Test-Organisation in grösseren Magento(1)-Projekten Ein Tipp von unserem Entwickler Claudio Kressibucher Köln/Bergisch Gladbach Münster Aachen Kapstadt/Südafrika www.kennziffer.com GmbH Friedrich-Ebert-Straße

Mehr

1. Laden Sie sich zunächst das aktuelle Installationspaket auf www.ikonmatrix.de herunter:

1. Laden Sie sich zunächst das aktuelle Installationspaket auf www.ikonmatrix.de herunter: Bestellsoftware ASSA ABLOY Matrix II De- und Installationsanleitung Installation Erfahren Sie hier, wie Sie ASSA ABLOY Matrix II auf Ihrem Rechner installieren können. Halten Sie Ihre Ihre Firmen- und

Mehr

Treiber- und Software-Update für ITRA-Geräte

Treiber- und Software-Update für ITRA-Geräte Treiber- und Software-Update für ITRA-Geräte Wegen der Umstellung des Treiber-Modells seitens des Chipherstellers musste die komplette Software-Umgebung der ITRA-Geräte umgestellt werden. Dies betrifft

Mehr

doubleslash Net-Business GmbH

doubleslash Net-Business GmbH doubleslash Net-Business GmbH»Das Open Source CMS Joomla!«doubleSlash Net-Business GmbH Müllerstr. 12 B D-88045 Friedrichshafen Germany http://doubleslash.de Thomas Sojda Fachinformatiker Tel.: 07541-6047-100

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr