1 Continuous Integration Vorbereitet von: Lekbir Ouadghiri Idrissi.

23
1 Continuous Integration Vorbereitet von: Lekbir Ouadghiri Idrissi

Transcript of 1 Continuous Integration Vorbereitet von: Lekbir Ouadghiri Idrissi.

1

Continuous IntegrationVorbereitet von: Lekbir Ouadghiri Idrissi

207.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

2

Gliederung1. Continuous Integration

1. Einführung2. Vorgehensweise3. Build-Management-Tools4. Continuous Integration Tools

2. Einsatz von Android-App1. Build-Prozess des Android-App2. Build-Prozess als ANT-Skript3. Automatisierung des Build-Prozesses4. Pina-Collada

307.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

3

1. Continuous Integration1- Einführung

Entwickler

Repository

Commit / push

Check out / update

Person 1. Überwachung

2. Kenntnis des Build-Prozesses

3. Build erstellen

4. Benachrichtigung

407.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

4

1. Continuous Integration2- Vorgehensweise:

Entwickler

Repository

Commit / push

Check out / update

Build-Management-Tool

Build erstellen / testen

Bericht versenden

Continuous Integration

507.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

5

1. Continuous Integration3- Build-Management-Tools:

Werkzeuge zum automatisierten Erzeugen aus Quelltexten Tools-Beispiele: Ant, Maven, Rake, Make Benötigen einer Datei für die Beschreibung des Prozesses

607.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

6

1. Continuous Integration3- Build-Management-Tools (Ant):

Apache-Projekt basiert auf Java Open Source entwickelt von James Duncan Davidson

Quelle: http://de.wikipedia.org/wiki/Apache_Ant

707.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

7

1. Continuous Integration3- Build-Management-Tools (Ant):

Häufig verwendete Tasks: Javac Copy Delete Replace JUnit Mail Exec

Über 150 Task

807.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

8

1. Continuous Integration3- Build-Management-Tools (Ant):

Beispiel: build.xml

Kommandozeile:

1. ant 2. ant build.start3. ant task.1 4. ant task.2

907.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

9

1. Continuous Integration3- Build-Management-Tools (Ant):

Eigenen Task erstellenA.java

Build.xml

1007.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

10

1. Continuous Integration4- Continuous Integration Tools:

Hudson Jenkins CruiseControll Continuum FinalBuilder

1107.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

11

1. Continuous Integration4- Continuous Integration Tools (Jenkins):

Webanwendung basiert auf Java Open Source entwickelt von

„Kohsuke Kawaguchi“ verfügbar als WAR-Datei verfügbar mit eigenem Server Erweiterung durch Plugins

Quelle: http://jenkins-ci.org

Quelle: http://kohsuke.org/about/

Kohsuke Kawaguchi

1207.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

12

2. Einsatz von Android-App1. Build-Prozess des Android-App

Quelle: Einführung in die Android Entwicklung

1307.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

13

2. Einsatz von Android-App1. Build-Prozess des Android-App Generierung von APK-Datei:

Inhalt: Dalvik-Bytecode: *.dex Ressourcen: Bilder, Sound, Videos, XML-dateien, …usw. Native Bibliotheken: C/C++-Bibliotheken

1407.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

14

2. Einsatz von Android-App2. Build-Prozess als ANT-Skript

„Es mag so aussehen, als müssten Sie bei Android in Bezug auf Java erheblich mehr Dinge tun. Aber diese Kompilationsschritte

werden von Werkzeugen wie Eclipse und Ant automatisiert, so dass Sie sie überhaupt gar nicht bemerken werden. „

-- Marko Gargenta

1507.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

15

2. Einsatz von Android-App2. Build-Prozess als ANT-Skript

*.java -----> *.class

*.class -----> classes.dex

1607.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

16

2. Einsatz von Android-App2. Build-Prozess als ANT-Skript

Generierung von APK-Datei

1707.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

17

2. Einsatz von Android-App3. Automatisierung des Build-Prozesses

Automatische Generierung von ANT-Skript:

Generierung von APK-Datei

android update project --path <Projekt-Pfad>

ant debug

1807.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

18

2. Einsatz von Android-App4. Pina-Collada

Der Build-Prozess besteht aus zwei Teilen:1. Die Umwandlung von OBJ-Dateien in Java-Dateien und das

Kopieren dieser Dateien in den Src-Ordner von Pina-Collada.2. Die Generierung von APK-Datei.

1907.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

19

2. Einsatz von Android-App4. Pina-Collada

OBJ-Parser

Pina-Collada

*.jj *.java

*.class*.java

*.java*.obj

javacc

javac

Source Ordner

Kopieren

Java Befehl mit der OBJ-Datei als Argument

Die nötigen Klassen für die Klasse Generator

Hier wird die Klasse Generator die OBJ-Dateien in Java-Klassen umwandeln

2007.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

20

2. Einsatz von Android-App4. Pina-Collada

*.jj *.java

2107.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

21

2. Einsatz von Android-App4. Pina-Collada

*.obj *.java

2207.05.2012 INF 6 – Lekbir Ouadghiri IdrissiContinuous Integration

22

Quelle1. http://de.wikipedia.org/wiki/Jenkins_%28Software%292. http://kohsuke.org/3. http://de.wikipedia.org/wiki/Apache_Ant4. http://jenkins-ci.org/5. http://www.youtube.com/watch?v=ILKGgxLF1X4&feature=related6. Marko Gargenta 2011, Einführung in die Android Entwicklung,

Verlag O’REILLY

23

Danke für das Zuhören

Noch Fragen ?