●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

P3 – Building a Corporate Update Site

Jörg Rei...
„Ausstattung“ für Entwickler-Teams,
die mit Eclipse arbeiten



Integrierte Entwicklungs-Umgebung (IDE): Eclipse-Installa...
Ist-Zustand

3

Manuelle Konfiguration

Versionskontrollsystem,
Web-Server, usw.

nutzen

Richtlinien

●
●
●
●
●
●
●
●
●
●...
Motivation

Synchronisieren der Präferenzen
• einheitliche Zeilenlänge, damit SVN-Compare leichter ist,
• einheitliche Che...
p3

P3 Profil
auf

●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

Automatische Konfiguration

...
• auf dem zentralen Server gibt es einen Ordner der Ordner für
diverse Projekt enthält, dieser Ordner enthält auch eine si...
sitemap.txt: Konfiguration der Profile und der
Ordnerstruktur

●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●...
Benutzer-Dokumentation in HTML, PDF und für die
Integration in Eclipse (Eclipse Help)

ebs-prefs.zip
Update Site, die eine...
Jeder Entwickler bekommt ein Paket aus
• Eclipse-Installation
• Maven
• Java Development Kit (JDK)
• Skripten
In der initi...
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

Beim erst...
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

Nach der ...
Bei jedem Eclipse-Neustart wird die lokale Eclipse-Instanz gegen den
globalen Server synchronisiert. Alle Änderungen auf d...
Erstellen der Update Site

Zum Erstellen der gemeinsamen Update Site wird der B3 Aggregator
verwendet (http://www.eclipse....
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
...
Features
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●

 schnelles Aufsetzen einer Entwicklun...
Jörg Reichert

itemis AG – Niederlassung Leipzig
0151 173 96 690

●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
...
Nächste SlideShare
Wird geladen in …5
×

P3 - Building a corporate update site

500 Aufrufe

Veröffentlicht am

P3 is a new approach to synchronize Eclipse based development environment configurations across a team. It also enables to switch between different projects (that each require a different setup) immediately.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
500
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

P3 - Building a corporate update site

  1. 1. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● P3 – Building a Corporate Update Site Jörg Reichert (itemis AG) ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG
  2. 2. „Ausstattung“ für Entwickler-Teams, die mit Eclipse arbeiten  Integrierte Entwicklungs-Umgebung (IDE): Eclipse-Installation mit Erweiterungen (plug-ins), die für die Entwicklung der End-Anwendung(en) benutzt werden (Assistenten, Compiler, Navigator, …)  Ziel-Plattform (Target Platform): Bibliotheken, die beim Schreiben des Programm-Codes zur Verfügung stehen und gegen die der Kode kompiliert wird  Konfigurations-Daten (Preferences): Konfiguration der EntwicklungsUmgebung und der installierten Erweiterungen, z.B., Code-Formatierung (z.B. Zeilenlänge, Umbrüche nach Klammern), Compiler Konfiguration)  Projekte-Auswahl (Team Project Sets): Relevanter Programm-Code, der aus dem Versionskontrollsystem gezogen werden soll  Aufgaben-Verwaltung: Vorkonfiguration der Mylyn Task Repositories, um die relevanten Aufgaben aus dem JIRA gefiltert zu bekommen ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 2 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG
  3. 3. Ist-Zustand 3 Manuelle Konfiguration Versionskontrollsystem, Web-Server, usw. nutzen Richtlinien ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● IDE, Ziel-Plattform, Projekt-Auswahl, usw. auf Projekt-Leiter Projekt-Mitglieder ● ● © itemis AG
  4. 4. Motivation Synchronisieren der Präferenzen • einheitliche Zeilenlänge, damit SVN-Compare leichter ist, • einheitliche Checkstyle-Regeln Synchronisieren des Targets: • einheitliche Code-Basis, gegen die der zu entwickelnde Code kompiliert wird ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Synchronisieren der Plug-ins: • Target und Plug-ins sind kompatibel, so dass es z.B. nicht zu Fehlern bei Xtext kommt, wenn der Workflow aus der UI aufgerufen wird, die ein andere Plug-in Version benutzt als das Target, mit dem der Code kompiliert wird). © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 4
  5. 5. p3 P3 Profil auf ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Automatische Konfiguration nutzen baut Versionskontrollsystem veröffentlicht IntegrationsServer Projekt-Leiter Web Server Projekt-Mitglieder 5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG
  6. 6. • auf dem zentralen Server gibt es einen Ordner der Ordner für diverse Projekt enthält, dieser Ordner enthält auch eine sitemap.txt, die den Aufbau der Ordner beschreibt • ein Projekt-Ordner enthält immer die gleiche Ordner-Struktur • das Master-Projekt definiert dabei die globale Vorlage für • die Dokumentation • die Erweiterungen für die Entwicklungsumgebung • die Ziel-Plattform • die Konfigurationen der Entwicklungsumgebung ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● • jedes neues Projekt definiert analog zum Master-Projekt die OrdnerStruktur und kann selbst wieder Plug-ins, Target und Konfigurationen definieren. Bei manchen Projekten reicht es sogar, nur die Projekt-spezifische Dokumentation zusätzlich bereitzustellen, Plug-ins und Target kommen können vom Master wieder verwendet werden. © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 6
  7. 7. sitemap.txt: Konfiguration der Profile und der Ordnerstruktur ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● D:/profiles D:/profiles/ebs-example D:/profiles/ebs-tools D:/profiles/ebs-tools/target D:/profiles/ebs-tools/target/definitions D:/profiles/master D:/profiles/master/doc D:/profiles/master/doc/html D:/profiles/master/doc/images D:/profiles/master/doc/pdf D:/profiles/master/doc/updates D:/profiles/master/doc/updates/features D:/profiles/master/doc/updates/plugins D:/profiles/master/ide D:/profiles/master/ide/downloads D:/profiles/master/ide/preferences D:/profiles/master/ide/updates D:/profiles/master/ide/updates/3.7 D:/profiles/master/ide/updates/3.7/binary D:/profiles/master/ide/updates/3.7/features D:/profiles/master/ide/updates/3.7/plugins D:/profiles/master/target D:/profiles/master/target/definitions D:/profiles/master/target/updates D:/profiles/master/target/updates/3.7 D:/profiles/master/target/updates/3.7/binary D:/profiles/master/target/updates/3.7/features D:/profiles/master/target/updates/3.7/plugins D:/profiles/master/tools D:/profiles/master/tools/updates D:/profiles/master/tools/updates/features D:/profiles/master/tools/updates/plugins © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
  8. 8. Benutzer-Dokumentation in HTML, PDF und für die Integration in Eclipse (Eclipse Help) ebs-prefs.zip Update Site, die eine minimale IDE mit den P3 Tools enthält und aus der die EBS-IDE gebaut wird *.target-Datei Update Site gebaut aus Target ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● P3 Tools Update Site © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
  9. 9. Jeder Entwickler bekommt ein Paket aus • Eclipse-Installation • Maven • Java Development Kit (JDK) • Skripten In der initialen minimalen Eclipse-Installation sind nur die P3 Werkzeuge installiert sowie der Pfad zum globalen Server konfiguriert. Config.ini: ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● org.eclipse.update.reconcile=false eclipse.p2.profile=DefaultProfile osgi.instance.area.default=@user.home/workspace osgi.framework=file:plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar publicationServer=https://username:password@server-url/path/profiles equinox.use.ds=true eclipse.buildId= osgi.bundles=reference:file:org.eclipse.equinox.simpleconfigurator_1.0.200.v20110502-1955.jar@1:start org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info eclipse.product=org.eclipse.sdk.ide osgi.splashPath=platform:/base/plugins/org.eclipse.platform osgi.framework.extensions= eclipse.application=org.eclipse.ui.ide.workbench eclipse.p2.data.area=@config.dir/../p2 osgi.bundles.defaultStartLevel=4 © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
  10. 10. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Beim ersten Starten von Eclipse muss nun das Projekt ausgewählt werden, in dem man arbeiten möchte. © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
  11. 11. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Nach der Wahl des Projekts, wird Eclipse neu gestartet, um auf dem Profil zu arbeiten, welches dem Projekt entspricht. Beim Neustart werden die Plug-ins für das Projekt in Eclipse installiert, die Target-Definition und die Konfigurationen heruntergeladen und angewendet. Nach einem weiteren Neustart sieht man an der Eclipse-Oberfläche die nun geladenen Erweiterungen. Zudem wurden die Entwicklungsprojekte in den Workspace geladen sowie die Mylyn Tasks eingerichtet und synchronisiert. © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
  12. 12. Bei jedem Eclipse-Neustart wird die lokale Eclipse-Instanz gegen den globalen Server synchronisiert. Alle Änderungen auf dem Server werden lokale nachgezogen. So werden zum Beispiel auch Plug-ins deinstalliert, die nicht mehr auf dem Server vorkommen. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Über die Eclipse-Einstellungen ist es jederzeit möglich das Projekt zu wechseln. © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
  13. 13. Erstellen der Update Site Zum Erstellen der gemeinsamen Update Site wird der B3 Aggregator verwendet (http://www.eclipse.org/modeling/emft/b3/). B3 stellt einen Editor zur Verfügung, um eine Update Site aus anderen Update-Sites bzw. aus Teilen deren Inhalte zu erstellen. Die so erstellte Update Site ist damit nicht mehr von der Verfügbarkeit der anderen Update-Sites abhängig. Außerdem können in ihr auch Plattform-spezifischen Features und Plug-ins aufgenommen werden, so dass sich zum Beispiel Eclipse-Instanzen für verschiedene Betriebssystem (Windows, Linux) und Architekturen (32bit, 64bit) aus ihr bauen lassen. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● B3 kann auch über Kommandozeile aufgerufen werden, so dass die aggregierte Update-Site auch in einem Build auf dem Integrations-Server gebaut werden kann. © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
  14. 14. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG
  15. 15. Features ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●  schnelles Aufsetzen einer Entwicklungsumgebung für ein neues ProjektMitglied  Entwicklungsumgebung ist bei allen Entwicklern aktuell und konsistent  einzelne Projekte können definiert von den Standard-Vorgaben abweichen, indem sie eigene Profile definieren  IDE und Zielplattform basieren auf aggregierten Update-Sites, um deren Konsistenz sich zentral gekümmert wird  Modularisierte Dokumentation: Projekte erhalten neben der globalen Dokumentation auch jeweils eine Projekt-spezifische Konfiguration 15 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG
  16. 16. Jörg Reichert itemis AG – Niederlassung Leipzig 0151 173 96 690 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● itemis AG | Am Brambusch 15-24 | D-44536 Lünen | www.itemis.de © itemis AG ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

×