Vom lokalen Build zum Deployment

Größe: px
Ab Seite anzeigen:

Download "Vom lokalen Build zum Deployment"

Transkript

1 Vom lokalen Build zum Deployment International PHP Conference Manuel Pichler Vom lokalen Build zum Deployment 1 / 36

2 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor hinter einer Reihe von QA-Tools Qafoo passion for software quality Vom lokalen Build zum Deployment 2 / 36

3 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor hinter einer Reihe von QA-Tools Qafoo passion for software quality Vom lokalen Build zum Deployment 2 / 36

4 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor hinter einer Reihe von QA-Tools Qafoo passion for software quality Vom lokalen Build zum Deployment 2 / 36

5 Über mich Mitgründer von Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor hinter einer Reihe von QA-Tools Qafoo passion for software quality Vom lokalen Build zum Deployment 2 / 36

6 Über mich Mitgründer von Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor hinter einer Reihe von QA-Tools Qafoo passion for software quality We help people to create high quality PHP applications. Vom lokalen Build zum Deployment 2 / 36

7 Über mich Mitgründer von Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor hinter einer Reihe von QA-Tools Qafoo passion for software quality We help people to create high quality PHP applications. Vom lokalen Build zum Deployment 2 / 36

8 Outline Motivation Die Idee Anforderungen Features Roadmap Fazit Vom lokalen Build zum Deployment 3 / 36

9 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

10 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

11 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

12 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

13 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

14 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

15 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

16 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

17 Dezember 2009 Ausgangssituation Diverse Open-Source-Projekte PHP Depend PHPMD phpundercontrol staticreflection... Und viel zu wenig Zeit :-[ Vom lokalen Build zum Deployment 4 / 36

18 Warum? Einheitliche Strukturen? Vom lokalen Build zum Deployment 5 / 36

19 Warum? Einheitliche Strukturen? Naja Vom lokalen Build zum Deployment 5 / 36

20 Warum? Einheitliche Strukturen? Naja, Vielleicht Vom lokalen Build zum Deployment 5 / 36

21 Warum? Einheitliche Strukturen? Naja, Vielleicht doch nicht ;-] Vom lokalen Build zum Deployment 5 / 36

22 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

23 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

24 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

25 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

26 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

27 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

28 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

29 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

30 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

31 Build-Infrastruktur Jedes Projekt hatte ein individuelles Set an Skripten Aktualisiere die PEAR package.xml Datei Erzeuge ein PEAR- oder Phar-Archiv Generiere weitere Projekt-Artefakte Zusätzlich ein eigenes Ant build.xml Skript Führe die Tests aus Prüfe den Coding-Standard Sammle Softwaremetriken Erstelle einen Release... Vom lokalen Build zum Deployment 6 / 36

32 Probleme Unterschiedliche Kommandos Unterschiedliche Workflows Zeitaufwand beim Projektwechsel Wartungsaufwand der Buildumgebung DRY!? Don t Repeat Yourself Vom lokalen Build zum Deployment 7 / 36

33 Probleme Unterschiedliche Kommandos Unterschiedliche Workflows Zeitaufwand beim Projektwechsel Wartungsaufwand der Buildumgebung DRY!? Don t Repeat Yourself Vom lokalen Build zum Deployment 7 / 36

34 Probleme Unterschiedliche Kommandos Unterschiedliche Workflows Zeitaufwand beim Projektwechsel Wartungsaufwand der Buildumgebung DRY!? Don t Repeat Yourself Vom lokalen Build zum Deployment 7 / 36

35 Probleme Unterschiedliche Kommandos Unterschiedliche Workflows Zeitaufwand beim Projektwechsel Wartungsaufwand der Buildumgebung DRY!? Don t Repeat Yourself Vom lokalen Build zum Deployment 7 / 36

36 Probleme Unterschiedliche Kommandos Unterschiedliche Workflows Zeitaufwand beim Projektwechsel Wartungsaufwand der Buildumgebung DRY!? Don t Repeat Yourself Vom lokalen Build zum Deployment 7 / 36

37 Probleme Unterschiedliche Kommandos Unterschiedliche Workflows Zeitaufwand beim Projektwechsel Wartungsaufwand der Buildumgebung DRY!? Don t Repeat Yourself Vom lokalen Build zum Deployment 7 / 36

38 Outline Motivation Die Idee Anforderungen Features Roadmap Fazit Vom lokalen Build zum Deployment 8 / 36

39 Software Lifecycle Eigentlich besteht Lebenszyklus jeder Software immer aus den gleichen Bestandteilen Build Testing Dokumentation Qualitätssicherung Deployment Dependency-Management Vom lokalen Build zum Deployment 9 / 36

40 Software Lifecycle Eigentlich besteht Lebenszyklus jeder Software immer aus den gleichen Bestandteilen Build Testing Dokumentation Qualitätssicherung Deployment Dependency-Management Vom lokalen Build zum Deployment 9 / 36

41 Software Lifecycle Eigentlich besteht Lebenszyklus jeder Software immer aus den gleichen Bestandteilen Build Testing Dokumentation Qualitätssicherung Deployment Dependency-Management Vom lokalen Build zum Deployment 9 / 36

42 Software Lifecycle Eigentlich besteht Lebenszyklus jeder Software immer aus den gleichen Bestandteilen Build Testing Dokumentation Qualitätssicherung Deployment Dependency-Management Vom lokalen Build zum Deployment 9 / 36

43 Software Lifecycle Eigentlich besteht Lebenszyklus jeder Software immer aus den gleichen Bestandteilen Build Testing Dokumentation Qualitätssicherung Deployment Dependency-Management Vom lokalen Build zum Deployment 9 / 36

44 Software Lifecycle Eigentlich besteht Lebenszyklus jeder Software immer aus den gleichen Bestandteilen Build Testing Dokumentation Qualitätssicherung Deployment Dependency-Management Vom lokalen Build zum Deployment 9 / 36

45 Software Lifecycle Eigentlich besteht Lebenszyklus jeder Software immer aus den gleichen Bestandteilen Build Testing Dokumentation Qualitätssicherung Deployment Dependency-Management Vom lokalen Build zum Deployment 9 / 36

46 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

47 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

48 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

49 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

50 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

51 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

52 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

53 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

54 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

55 Convention over Configuration Andere machen es vor PEAR Zend-Framework PSR-0 Warum sollte dies nicht auch für eine Buildumgebung gelten Buildprozess Verzeichnisstruktur Versionierung Namensgebung Verteilung / Distribution Vom lokalen Build zum Deployment 10 / 36

56 Evaluiere existierende Lösungen Viel Recherche......brachte fast immer das gleiche Ergebnis Apache Maven Genauer die Konzepte und Konventionen Vom lokalen Build zum Deployment 11 / 36

57 Evaluiere existierende Lösungen Viel Recherche......brachte fast immer das gleiche Ergebnis Apache Maven Genauer die Konzepte und Konventionen Vom lokalen Build zum Deployment 11 / 36

58 Evaluiere existierende Lösungen Viel Recherche......brachte fast immer das gleiche Ergebnis Apache Maven Genauer die Konzepte und Konventionen Vom lokalen Build zum Deployment 11 / 36

59 Evaluiere existierende Lösungen Viel Recherche......brachte fast immer das gleiche Ergebnis Apache Maven Genauer die Konzepte und Konventionen Vom lokalen Build zum Deployment 11 / 36

60 Evaluiere existierende Lösungen Viel Recherche......brachte fast immer das gleiche Ergebnis Apache Maven Genauer die Konzepte und Konventionen Vom lokalen Build zum Deployment 11 / 36

61 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

62 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

63 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

64 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

65 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

66 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

67 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

68 Apache Maven Formalisiert den Buildprozess vollständig Setzt sehr stark auf Konventionen Definiert durchdachte Strukturen Modulare und Erweiterbare Architektur War sehr Java fokussiert War??? Heute gibt es das PHP for Maven Plugin Scheint mittlerweile aber leider unmaintained Vom lokalen Build zum Deployment 12 / 36

69 Outline Motivation Die Idee Anforderungen Features Roadmap Fazit Vom lokalen Build zum Deployment 13 / 36

70 Buildwerkzeug Apache Ant als Basis Warum Ant und nicht Phing, Pake,...? Es gibt keinen wirklichen Grund Vom lokalen Build zum Deployment 14 / 36

71 Buildwerkzeug Apache Ant als Basis Warum Ant und nicht Phing, Pake,...? Es gibt keinen wirklichen Grund Vom lokalen Build zum Deployment 14 / 36

72 Buildwerkzeug Apache Ant als Basis Warum Ant und nicht Phing, Pake,...? Es gibt keinen wirklichen Grund Vom lokalen Build zum Deployment 14 / 36

73 Minimale Konfiguration Vom lokalen Build zum Deployment 15 / 36

74 Minimale Konfiguration Vom lokalen Build zum Deployment 15 / 36

75 Minimale Konfiguration Vom lokalen Build zum Deployment 15 / 36

76 Minimale Konfiguration build.xml 1 <?xml v e r s i o n= 1. 0 e n c o d i n g= UTF 8?> 2 <p r o j e c t name= PHP Depend b a s e d i r=. > 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 = s e t u p / s r c / main / xml / base. xml /> 6 </ p r o j e c t> 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. v e r s i o n = p r o j e c t. s t a b i l i t y = s t a b l e Vom lokalen Build zum Deployment 16 / 36

77 Minimale Konfiguration build.xml 1 <?xml v e r s i o n= 1. 0 e n c o d i n g= UTF 8?> 2 <p r o j e c t name= PHP Depend b a s e d i r=. > 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 = s e t u p / s r c / main / xml / base. xml /> 6 </ p r o j e c t> 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. v e r s i o n = p r o j e c t. s t a b i l i t y = s t a b l e Vom lokalen Build zum Deployment 16 / 36

78 Minimale Konfiguration build.xml 1 <?xml v e r s i o n= 1. 0 e n c o d i n g= UTF 8?> 2 <p r o j e c t name= PHP Depend b a s e d i r=. > 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 = s e t u p / s r c / main / xml / base. xml /> 6 </ p r o j e c t> 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. v e r s i o n = p r o j e c t. s t a b i l i t y = s t a b l e Vom lokalen Build zum Deployment 16 / 36

79 Minimale Konfiguration build.xml 1 <?xml v e r s i o n= 1. 0 e n c o d i n g= UTF 8?> 2 <p r o j e c t name= PHP Depend b a s e d i r=. > 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 = s e t u p / s r c / main / xml / base. xml /> 6 </ p r o j e c t> 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. v e r s i o n = p r o j e c t. s t a b i l i t y = s t a b l e Vom lokalen Build zum Deployment 16 / 36

80 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

81 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

82 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

83 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

84 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

85 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

86 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

87 Fest definierte Buildschritte initialize compile test package integration-test verify install deploy Vom lokalen Build zum Deployment 17 / 36

88 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

89 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

90 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

91 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

92 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

93 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

94 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

95 Modulare Architektur Buildschritte und Abfolge geben die Grundstruktur vor Jeder Buildschritt soll non-invasiv erweiterbar sein Codegeneratoren Testwerkzeuge Distributionswerkzeuge QA-Tools Datenbank... Vom lokalen Build zum Deployment 18 / 36

96 Outline Motivation Die Idee Anforderungen Features Roadmap Fazit Vom lokalen Build zum Deployment 19 / 36

97 Standardisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Vom lokalen Build zum Deployment 20 / 36

98 Standardisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Vom lokalen Build zum Deployment 20 / 36

99 Standardisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Vom lokalen Build zum Deployment 20 / 36

100 Standardisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Vom lokalen Build zum Deployment 20 / 36

101 Standardisierte Verzeichnisstruktur build/ dist/ logs/ src/ bin/ conf/ main/ js/ php/ resources/ test/ js/ php/ resources/ Vom lokalen Build zum Deployment 20 / 36

102 Environments I Es existiert immer ein Standard-Environment db. hostname = l o c a l h o s t 3 db. u s e r i d = r o o t 4 db. password = 5 db. name = dev db Für das Standard-Environment ist lediglich der Buildschritt anzugeben 1 $ ant d e p l o y Vom lokalen Build zum Deployment 21 / 36

103 Environments I Es existiert immer ein Standard-Environment db. hostname = l o c a l h o s t 3 db. u s e r i d = r o o t 4 db. password = 5 db. name = dev db Für das Standard-Environment ist lediglich der Buildschritt anzugeben 1 $ ant d e p l o y Vom lokalen Build zum Deployment 21 / 36

104 Environments II Es können frei weitere Environments hinzugefügt werden Jede Variable kann für das Environment redefiniert werden db. t e s t i n g. hostname = db01. t e s t. i n t e r n. example. com 3 db. t e s t i n g. u s e r i d = u s e r 4 db. t e s t i n g. password = password 5 db. t e s t i n g. name = t e s t i n g d b Über die Option commons.env lässt sich zusätzlich das Environment wählen 1 $ ant Dcommons. env=t e s t i n g d e p l o y Vom lokalen Build zum Deployment 22 / 36

105 Environments II Es können frei weitere Environments hinzugefügt werden Jede Variable kann für das Environment redefiniert werden db. t e s t i n g. hostname = db01. t e s t. i n t e r n. example. com 3 db. t e s t i n g. u s e r i d = u s e r 4 db. t e s t i n g. password = password 5 db. t e s t i n g. name = t e s t i n g d b Über die Option commons.env lässt sich zusätzlich das Environment wählen 1 $ ant Dcommons. env=t e s t i n g d e p l o y Vom lokalen Build zum Deployment 22 / 36

106 Environments II Es können frei weitere Environments hinzugefügt werden Jede Variable kann für das Environment redefiniert werden db. t e s t i n g. hostname = db01. t e s t. i n t e r n. example. com 3 db. t e s t i n g. u s e r i d = u s e r 4 db. t e s t i n g. password = password 5 db. t e s t i n g. name = t e s t i n g d b Über die Option commons.env lässt sich zusätzlich das Environment wählen 1 $ ant Dcommons. env=t e s t i n g d e p l o y Vom lokalen Build zum Deployment 22 / 36

107 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

108 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

109 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

110 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Kein händisches installieren von Paketen $ pear channel-discover pear.pdepend.org $ pear install --alldeps pdepend/php depend Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

111 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Kein händisches installieren von Paketen $ pear channel-discover pear.pdepend.org $ pear install --alldeps pdepend/php depend Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

112 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Kein händisches installieren von Paketen $ pear channel-discover pear.pdepend.org $ pear install --alldeps pdepend/php depend Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

113 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Kein händisches installieren von Paketen $ pear channel-discover pear.pdepend.org $ pear install --alldeps pdepend/php depend Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

114 Unabhängige Buildumgebung Ein Build der Software sollte möglich sein, ohne zuvor $X Abhängigkeiten installieren zu müssen PEAR ist fester Bestandteil der Buildumgebung Alle weiteren Pakete werden erst bei Bedarf installiert Kein händisches installieren von Paketen $ pear channel-discover pear.pdepend.org $ pear install --alldeps pdepend/php depend Dies erlaubt fest definierte Tool-Versionen je Projekt phpunit.package.name = phpunit codesniffer.package.name = php codesniffer Vom lokalen Build zum Deployment 23 / 36

115 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

116 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

117 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

118 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

119 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

120 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

121 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

122 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

123 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

124 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

125 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

126 Buildschritte I initialize Build Verzeichnisse erstellen Update aus der Versionskontrolle compile php -l auf Quelltext und Tests Nur geänderte Dateien werden geprüft test Ausführen der unittest Annotation package Zip-Archiv Optional PEAR-Archiv Optional Phar-Archiv Vom lokalen Build zum Deployment 24 / 36

127 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

128 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

129 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

130 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

131 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

132 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

133 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

134 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

135 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

136 Buildschritt: integrationtest Annotation Ausführen der Integrationstests In der Dev-Umgebung Gegen die Quellen im Zip-Archiv Optional gegen das Phar-Archiv Optional gegen das PEAR-Archiv Exkurs lokales PEAR $ pear config-create /foo /foo/pear.conf $ pear -c /foo/pear.conf config-set auto discover 1 $ pear -c /foo/pear.conf install --alldeps project.tgz Vom lokalen Build zum Deployment 25 / 36

137 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

138 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

139 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

140 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

141 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

142 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

143 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

144 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

145 Buildschritt: verify Erzeugung zeitaufwändiger Qualitätsreports Dynamische Analyse Code-Coverage Optional Profiling/Performance Analyse Statische Analyse Copy&Paste (PHPCPD) Coding Standard (CodeSniffer) Metriken (PHP Depend) Code Smells, Unused Code usw. (PHPMD) Vom lokalen Build zum Deployment 26 / 36

146 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

147 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

148 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

149 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

150 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

151 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

152 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

153 Buildschritt: install Lokale Installation Applikation Konfiguriertes Verzeichnis PEAR-Archiv Lokale PEAR-Installation Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Repository Vom lokalen Build zum Deployment 27 / 36

154 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

155 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

156 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

157 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

158 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

159 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

160 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

161 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

162 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

163 Buildschritt: deploy Remote Installation Applikation Konfigurierter Server + Verzeichnis Spezifiziertes Environment (Testing, Staging usw.) Optional Datenbank-Migration mit DbDeploy PEAR-Archiv Remote Pirum-Server Spezifiziertes Environment (Default Snapshot) Phar-Archiv TODO: Apache-Ivy Remote Repository Vom lokalen Build zum Deployment 28 / 36

164 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

165 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

166 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

167 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

168 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

169 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

170 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

171 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

172 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

173 Erweiterbarkeit I Die Abfolge der Buildschritte ist fest vorgegeben Jeder Buildschritt wird aber erst durch Erweiterungen mit Leben befüllt Je Buildschritt existiert ein Pre-Hook Und ein passender Post-Hook Hierdurch können projektspezifische Tasks in den Build integriert werden. Eine Reihe von Tasks sind von Haus aus bereits integriert PHPUnit PHPMD, PHPCPD, CodeSniffer,... PEAR- & Phar-Packaging Pirum Vom lokalen Build zum Deployment 29 / 36

174 Erweiterbarkeit II Seit Version 1.8 gibt es in Apache-Ant die so genannten Extension-Points. Ein praktischer Mechanismus für modulare Buildskripte 1 <p r o j e c t name= Build Commons Deploy > 2 <t a r g e t name= d e p l o y 3 depends= d e p l o y : b e f o r e hook, 4 d e p l o y : d e p l o y, 5 d e p l o y : a f t e r hook /> 6 7 <extension p o i n t name= d e p l o y : b e f o r e hook /> <extension p o i n t name= d e p l o y : a f t e r hook /> 11 <t a r g e t name= d e p l o y : d e p l o y >... </ t a r g e t> 12 </ p r o j e c t> Vom lokalen Build zum Deployment 30 / 36

Die perfekte Build-Pipeline

Die perfekte Build-Pipeline Die perfekte Build-Pipeline Ohne Mühen Webprojekte bauen Qafoo GmbH October 25, 2012 Die perfekte Build-Pipeline 1 / 44 What comes next? Willkommen Die perfekte Build-Pipeline 2 / 44 Über uns Jakob Westhoff

Mehr

Continuous Delivery. für Java Anwendungen. Axel Fontaine 28.10.2010. Software Development Expert

Continuous Delivery. für Java Anwendungen. Axel Fontaine 28.10.2010. Software Development Expert 28.10.2010 Continuous Delivery für Java Anwendungen Axel Fontaine Software Development Expert twitter.com/axelfontaine blog.axelfontaine.eu business@axelfontaine.eu Ceci n est pas une build tool. Ceci

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

Deploy von PHP-Applikationen

Deploy von PHP-Applikationen Deploy von PHP-Applikationen Jan Burkl System Engineer Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer Zend Certified

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

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

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de

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

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

Installations Guide für YAJSW und DTLDAP

Installations Guide für YAJSW und DTLDAP YAJSW - DTLDAP Installation Guide Installations Guide für YAJSW und DTLDAP Erstellt für: Helsana AG, Franz Schnyder Erstellt von: Skypro AG, Thomas Bucher 9. Mai 2013 thomas@skypro.ch http://www.skypro.ch

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

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

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

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

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012 Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment Henning Blohm 5.7.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Ein Builtool?

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

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

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

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

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

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

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

ARAkoll 2013 Dokumentation. Datum: 21.11.2012

ARAkoll 2013 Dokumentation. Datum: 21.11.2012 ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen

Mehr

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 git & git-flow Jens Sandmann Warpzone Münster e.v. 14.12.2013 Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 Überblick 1 git Versionskontrolle Allgemein VCS mit git 2 git flow 3 git nutzen 4 Anhang

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

USB-Driver: Download-Link: http://www.itakka.at/tracker-files/usb_driver_1_0_5_18.rar

USB-Driver: Download-Link: http://www.itakka.at/tracker-files/usb_driver_1_0_5_18.rar 2 Folgende Software wird benötigt:: Die beschriebene Konfiguration unterstützt folgende Betriebssysteme: - Windows 98SE - Windows ME - Windows 2000 SP4 - Windows XP SP2 and above (32 & 64 bit) - Windows

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

Oracle APEX Installer

Oracle APEX Installer Version 2.11 Installationsanleitung Kontakt Sphinx IT Consulting Aspernbrückengasse 2 1020 Wien, Österreich T: +43 (0)1 59931 0 F: +43 (0)1 599 31 99 www.sphinx.at marketing@sphinx.at Inhalt 1 Voraussetzungen

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

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

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Versionskontrolle 1 / 30 Versionskontrolle Matthias Meitner Marc Spisländer Lehrstuhl für Software Engineering

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

UpToNet Events and Artists Installation der Testversion und Einrichten einer Demodatenbank

UpToNet Events and Artists Installation der Testversion und Einrichten einer Demodatenbank UpToNet Events and Artists Installation der Testversion und Einrichten einer Demodatenbank UpToNet Event&Artist UpToNet Events and Artists - Anleitung: Einrichten der Demodatenbank Unter folgender URL

Mehr

Technische Information: Installation WyRu Online-Shop

Technische Information: Installation WyRu Online-Shop Technische Information: Installation WyRu Online-Shop Team WyRu Christian Wyk / Günter Rubik SCS Bürocenter B1, A-2334 Vösendorf Internet http://www.wyru.at Installationsvorraussetzungen Damit der Online-Shop

Mehr

INSTALLATIONSANLEITUNG

INSTALLATIONSANLEITUNG INSTALLATIONSANLEITUNG SERVICE PACK 2.0.14.1 2013 Gambio GmbH. www.gambio.de Inhaltsverzeichnis 1 Changelog 3 2 Datensicherung 4 3 Installation Service Pack Shopsystem 4 3.1 Update vom Shopsystem v2.0.13.0,

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Whitepaper. Produkt: List & Label 16. List & Label 16 unter Linux/Wine. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: List & Label 16. List & Label 16 unter Linux/Wine. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: List & Label 16 List & Label 16 unter Linux/Wine List & Label 16 unter Linux/Wine - 2 - Inhalt Allgemeines 3 Voraussetzungen 3 Schritt-für-Schritt

Mehr

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken Virtueller Campus Virtueller Campus Horw mit interaktiver Steuerung Bachelor Diplomarbeit FS 2013 Inhaltsverzeichnis 1. EINLEITUNG... 1 2. VORBEDINGUNGEN... 1 3. ORDNERSTRUKTUR ERWEITERN... 1 4. PROJEKT

Mehr

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Entwicklung für Embedded Devices Best & Worst Practices! Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard

Mehr

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Amt für Informatik Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Anleitung vom 12. September 2009 Version: 1.0 Ersteller: Ressort Sicherheit Zielgruppe: Benutzer von SSLVPN.TG.CH Kurzbeschreib:

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

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

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

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

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Schritt 1: Altes Modul-Paket vollständig deinstallieren Die neuen MRG-Module sind aus dem Scope local in den Scope

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

HTBVIEWER INBETRIEBNAHME

HTBVIEWER INBETRIEBNAHME HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten

Mehr

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

Mehr

MSSQL Server Fragen GridVis

MSSQL Server Fragen GridVis MSSQL Server Fragen GridVis 1.0 Server allgemein Frage 1.1 Welche Sprache benötigt die Software bzgl. Betriebssystem/SQL Server (deutsch/englisch)? 1.2 Welche MS SQL Server-Edition wird mindestens benötigt

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

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

Dr. Nikolai Krambrock Andreas von Studnitz

Dr. Nikolai Krambrock Andreas von Studnitz Dr. Nikolai Krambrock Andreas von Studnitz Codequalität mit Magento Inhalt Vorstellung Motivation Code-Qualität Allgemein Code-Qualität Magento-spezifisch Fragen und Antworten Hello World! Dr. Nikolai

Mehr

Options- und Freitext-Modul Update-Anleitung

Options- und Freitext-Modul Update-Anleitung Options- und Freitext-Modul Update-Anleitung Hinweis... 2 Update für Versionen kleiner als 1.2.4 auf 1.3.x... 3 Update für Versionen ab 1.2.4 auf 1.3.x... 6 Update für Versionen ab 1.3.x auf 2.x.x... 7

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

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

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

Snippets - das Erstellen von "Code- Fragmenten" - 1

Snippets - das Erstellen von Code- Fragmenten - 1 Snippets - das Erstellen von "Code- Fragmenten" Das Erstellen von "Code- Fragmenten", welche mit dem TinyMCE ausgewählt werden können. Grundlegendes: Die Datei, welche die in Folge erklärten Daten und

Mehr

Office Integration. M. Friedrichs, DEVWARE GmbH 2.0.17

Office Integration. M. Friedrichs, DEVWARE GmbH 2.0.17 Projekt SharePoint Toolbox 2010 Office Integration Dokumententyp Dokumentation Autor Version M. Friedrichs, DEVWARE GmbH 2.0.17 Vom 03.07.2013 Letzte Bearbeitung 03.07.2013 Seite 2 1. EINLEITUNG... 4 2.

Mehr

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta! Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Um mehrere Versionsstände parallel betreiben zu können, sollte man die folgenden Hintergründe kennen, um zu verstehen wo ggf. die Hürden liegen.

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

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

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

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

Fragen zur GridVis MSSQL-Server

Fragen zur GridVis MSSQL-Server Fragen zur GridVis MSSQL-Server Frage Anmerkung 1.0 Server allgemein 1.1 Welche Sprache benötigt die Software bzgl. Betriebssystem/SQL Server (deutsch/englisch)? 1.2 Welche MS SQL Server-Edition wird mindestens

Mehr

Installationsanleitung für Magento-Module

Installationsanleitung für Magento-Module Installationsanleitung für Magento-Module Installation durch die Modulwerft Wenn Sie es wünschen, können Sie das Modul durch unseren Installationsservice in Ihrem Shopsystem sicher und schnell installieren

Mehr

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH MATESO GmbH Daimlerstraße 7 86368 Gersthofen www.mateso.de Dieses Dokument beschreibt die Konfiguration

Mehr

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf: ISA Server 2004 Protokollierung - Von Marc Grote Die Informationen in diesem Artikel beziehen sich auf:? Microsoft ISA Server 2004 Im Artikel Übersicht Monitoring wurde eine Zusammenfassung aller Überwachungsfunktionen

Mehr

ECLIPSE PLUG-IN. Redwood Anwendertage 2015

ECLIPSE PLUG-IN. Redwood Anwendertage 2015 ECLIPSE PLUG-IN Redwood Anwendertage 2015 Übersicht Was ist Eclipse? Welche Voraussetzungen benötige ich? Wie wird das Plug-In installiert Welche Konfigurationen sind sinnvoll? Tipps & Tricks Was ist Eclipse

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

Anwenden eines Service Packs auf eine Workstation

Anwenden eines Service Packs auf eine Workstation Anwenden eines Service Packs auf EXTRA! 9.2 Stand vom 1. März 2012 Hinweis: Die neuesten Informationen werden zunächst im technischen Hinweis 2263 in englischer Sprache veröffentlicht. Wenn das Datum der

Mehr

Das Build-Tool ANT ETIS SS05

Das Build-Tool ANT ETIS SS05 Das Build-Tool ANT ETIS SS05 Motivation Build - Datei Allgemeiner Aufbau Project Target Task Properties Zusammenfassung Literatur Gliederung 2 Motivation ANT I open source-projekt (aktuell: Version 1.6.5)

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung zu @Schule.rlp (2015) Inhaltsverzeichnis Inhaltsverzeichnis... 1 Voraussetzungen... 2 vorbereitende Aufgaben... 3 Installation @Schule.rlp (2015):... 3 Installation Java SE Runtime

Mehr

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren 1 32- oder 64-bit Windows feststellen In den nachfolgenden Schritten ist es nötig, dass Sie wissen, ob Sie

Mehr

Drupal 8 manuell installieren

Drupal 8 manuell installieren Drupal 8 manuell installieren Version 1.0 Drupal 8 manuell installieren Um die aktuellste Version zu nutzen, muss Drupal manuell installiert werden. Dazu benötigst Du Zugriff auf Dein STRATO Hosting-Paket,

Mehr

visionapp Server Management 2008 R2 SP1

visionapp Server Management 2008 R2 SP1 visionapp Server Management 2008 R2 SP1 visionapp Multi Hotfix Installer Produktdokumentation Inhalt 1 Einleitung... 1 2 Unterstütze Varianten... 1 3 Verwendung... 1 4 Optionale Funktionen und Konfigurationsmöglichkeiten...

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

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

Print2CAD 2017, 8th Generation. Netzwerkversionen

Print2CAD 2017, 8th Generation. Netzwerkversionen Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software

Mehr

Smartphone 4.1. Was ist neu bei Smartphone 4.1

Smartphone 4.1. Was ist neu bei Smartphone 4.1 Smartphone 4.1 Was ist neu bei Smartphone 4.1 Was ist neu in Smartphone 4.1 Die Version 4.1 von Smartphone bietet neue Funktionen, die den neuen Anforderungen auf dem Markt entgegen kommen sollen. Neben

Mehr

NbI-HS. NbIServ Bethenhausen 5 07554 Bethenhausen www.nbiserv.de

NbI-HS. NbIServ Bethenhausen 5 07554 Bethenhausen www.nbiserv.de NbI-HS NbIServ Bethenhausen 5 07554 Bethenhausen www.nbiserv.de Inhalt 1. Vorwort 2. Bilder 3. Technik 3.1 Anforderungen 3.2 Funktionsweise 4. Preise 5. Referenzen 1.Vorwort Sie betreiben ein Lokal, Kneipe,

Mehr

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme Stand: 01.06.2015 SFirm 3.1 wird als separates Programm in eigene Ordner installiert. Ihre Daten können Sie nach der Installation bequem

Mehr

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper Collax VPN Howto Dieses Howto beschreibt exemplarisch die Einrichtung einer VPN Verbindung zwischen zwei Standorten anhand eines Collax Business Servers (CBS) und eines Collax Security Gateways (CSG).

Mehr

Uwe Baumann artiso Solutions ubaumann@artiso.com

Uwe Baumann artiso Solutions ubaumann@artiso.com Uwe Baumann artiso Solutions ubaumann@artiso.com Upgrade Strategien Data/Application Tier Anpassung von Process Templates Build Test/Lab Performance TFS Version Control Workitem Tracking Build Verwaltung

Mehr

C++ mit Eclipse & GCC unter Windows

C++ mit Eclipse & GCC unter Windows C++ mit Eclipse & GCC Seite 1 / 14 C++ mit Eclipse & GCC unter Windows Hinweise Stand 18. Okt. 2014 => GCC 4.9.1 Boost 1.56.0 Eclipse Luna V. 4.4.1 Java Version 8, Update 25 (entspricht 1.8.0_25) Achtung

Mehr

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm 25.6.2012

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm 25.6.2012 Make-loses Java für mehr Produktivität: Das z 2 -Environment Henning Blohm 25.6.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Oh je noch ein Tool?

Mehr

Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche

Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche Die Installation (siehe Punkt 1 und 2) der DataWatch Software kann auch auf einem Linux-System ohne grafische

Mehr

PxeDeploy-Updater Bequemes Aktualisieren des rbdeploy-systems

PxeDeploy-Updater Bequemes Aktualisieren des rbdeploy-systems Besuchen Sie uns im Internet unter http://www.vobs.at/rb 2015 Schulmediencenter des Landes Vorarlberg IT-Regionalbetreuer des Landes Vorarlberg Autor: Helmut Pajnik 6900 Bregenz, Römerstraße 15 Alle Rechte

Mehr

eprints-anwendertreffen 2013

eprints-anwendertreffen 2013 eprints-anwendertreffen 2013 3 eprints-szenarien aus der ULB Darmstadt tukart eprints-archiv für überformatige Karten-Digitalisate Export-Import-Skripten als Werkzeug für Backup + Migration Versionsverwaltung

Mehr

Administrator-Anleitung

Administrator-Anleitung Administrator-Anleitung für die Installation und Konfiguration von MySQL 5.0 zur Nutzung der Anwendung Ansprechpartner für Fragen zur Software: Zentrum für integrierten Umweltschutz e.v. (ZiU) Danziger

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

Support-Tipp Mai 2010 - Release Management in Altium Designer

Support-Tipp Mai 2010 - Release Management in Altium Designer Support-Tipp Mai 2010 - Release Management in Altium Designer Mai 2010 Frage: Welche Aufgaben hat das Release Management und wie unterstützt Altium Designer diesen Prozess? Zusammenfassung: Das Glück eines

Mehr

Netzwerkversion PVG.view

Netzwerkversion PVG.view Netzwerkversion PVG.view Installationshinweise Einführung Die Programm PVG.view kann zur Netzwerkversion erweitert werden. Die Erweiterung ermöglicht, bestehende oder neu erworbene Programmlizenzen im

Mehr

Praktikum Ingenieurinformatik (PI)

Praktikum Ingenieurinformatik (PI) Praktikum Ingenieurinformatik (PI) Verteilte Versionskontrolle mit Git und Github Björn Meyer Fachgebiet Technische Informatik 1 Agenda Einleitung Motivation Versionskontrolle Ansätze Git Funktionen Arbeiten

Mehr

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC.

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC. Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC. Wichtiger Hinweis Diese Installation ist für einen unabhängigen PC (Bob50 ist auf einen einzigen PC installiert ohne auf irgendein

Mehr

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

lññáåé=iáåé===pìééçêíáåñçêã~íáçå= lññáåé=iáåé===pìééçêíáåñçêã~íáçå= Wie kann das LiveUpdate durchgeführt werden? Um das LiveUpdate durchzuführen, müssen alle Anwender die Office Line verlassen. Nur so ist gewährleistet, dass die Office

Mehr

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 VORBEDINGUNGEN Als Vorbedingungen sollte bereits

Mehr

AppCenter Handbuch August 2015, Copyright Webland AG 2015

AppCenter Handbuch August 2015, Copyright Webland AG 2015 AppCenter Handbuch August 2015, Copyright Webland AG 2015 Inhalt AppCenter Login Applikation installieren Voraussetzung Applikation importieren Von diesem Webhosting-Konto Anhang PHP Versionen Schreib-Rechte

Mehr