Dr. Alexander Schwartz
JIRA und Crowd im Clusterbei mobile.international
Integration von Atlassian-Tools
Zoo oder P
uzzle?
Donnerstag, 23. September 2010
Über mobile.international
• mobile.de - Deutschlands größter Fahrzeugmarkt63 Milliarden Besuche pro Monat (Quelle: IVW März 2010)
• gehört zur eBay Classifieds Group
• Marktplätze in Frankreich, Italien, Polen und Rumanien
Donnerstag, 23. September 2010
Zu meiner Person & Rolle• Ausbildung: Mathematiker
• 20 Jahre IT-Branche in diversen Rollen: Entwickler, Consultant, Projekt-Manager,
Team-Leiter etc.
• Scrum Master
• meine Rolle bei mobile.international:
Leiter “Engineering Support Group”
- Release Management- Test Automation- Build Management- Tools- Konfigurations-Management
Dr. Alexander Schwartz
www.xing.com/profile/Alexander_Schwartz7
holis
tisch
Donnerstag, 23. September 2010
Agile Entwicklung bei mobile
3 Jahre Scrum 1 Jahr Kanban für Maintenance
70+ Personen6+ Teams, 2 verteilte Teamsparallele Entwicklung am gleichen Produkt
Donnerstag, 23. September 2010
Hilft JIRA bei der Agilen Entwicklung?
Achtung:Der Einsatz eines Ticketsystems kann viele Nachteile haben.
Beispiel: “Ticket-Ping-Pong”
Unser Lieblings-Tool:das Story-Bord
(aka Kanban-Bord)
Donnerstag, 23. September 2010
JIRA bei mobile
Regel: Jedes Commit in der Versionsverwaltung referenziert ein JIRA-Ticket.
Anforderung: Nachvollziehbarkeit für SOXAls ein SOX-Reviewer kann ich in einem Report die Veränderung des gesamten Quellcodes einsehen und analysieren.
JIRA-Ticket
VCS-Commit
Wir verwenden JIRA.- 50+ JIRA-Projekte- komplexe Modellierung
Donnerstag, 23. September 2010
Unser Tool-Zoo für Agile Entwicklung
JIRATicket System
SubversionVersion Control
EclipseIDE
MavenBuild Tool
Donnerstag, 23. September 2010
Unser Tool-Zoo für Agile Entwicklung
SonarCode Metriken
NexusMaven Repository Proxy
JIRATicket System
ConfluenceWiki System
SubversionVersion Control
Git/GitoriousVersion Control
Active Directory
FishEyeVersion Control Browsing
CrucibleCode Review Tools
TeamCityContinuous Integration
HudsonContinuous Integration
EclipseIDE
IntelliJIDE
CloverCode Coverage
MavenBuild Tool
Donnerstag, 23. September 2010
Unser Tool-Zoo für Agile Entwicklung
SonarCode Metriken
NexusMaven Repository Proxy
JIRATicket System
ConfluenceWiki System
SubversionVersion Control
Git/GitoriousVersion Control
Active Directory
FishEyeVersion Control Browsing
CrucibleCode Review Tools
TeamCityContinuous Integration
HudsonContinuous Integration
EclipseIDE
IntelliJIDE
CloverCode Coverage
MavenBuild Tool
Anforderung: schnelle BenutzerverwaltungAls ein Tool-Admin kann ich einen neuen Benutzer für alle Tools innerhalb von 3 Minuten anlegen (mit einheitlichen Zugangsdaten).
Verwandte Anforderungen: - User deaktivieren - E-Mail-Adresse ändern - Zugangsberechtigungen verändern
Donnerstag, 23. September 2010
Unser Tool-Zoo für Agile Entwicklung
SonarCode Metriken
NexusMaven Repository Proxy
JIRATicket System
ConfluenceWiki System
SubversionVersion Control
Git/GitoriousVersion Control
CrowdID Management
Active Directory
FishEyeVersion Control Browsing
CrucibleCode Review Tools
TeamCityContinuous Integration
HudsonContinuous Integration
EclipseIDE
IntelliJIDE
CloverCode Coverage
MavenBuild Tool
Donnerstag, 23. September 2010
Crowd-Tipp: Umstellung eines Tools auf Crowd
Gegeben:Verzeichnis A in Crowd, verwendet von Confluence
Schritte: • JIRA-Benutzer in neues Crowd-
Verzeichnis B importieren• JIRA mit Crowd-Verzeichnis B
verbinden• Verzeichnisse A und B mischen
und als neues Verzeichnis C importieren• JIRA und Confl. mit C
verbinden.
Crowd
Confluence JIRA
A
Donnerstag, 23. September 2010
Crowd-Tipp: Umstellung eines Tools auf Crowd
Gegeben:Verzeichnis A in Crowd, verwendet von Confluence
Schritte: • JIRA-Benutzer in neues Crowd-
Verzeichnis B importieren• JIRA mit Crowd-Verzeichnis B
verbinden• Verzeichnisse A und B mischen
und als neues Verzeichnis C importieren• JIRA und Confl. mit C
verbinden.
Crowd
Confluence JIRA
A B
Donnerstag, 23. September 2010
Crowd-Tipp: Umstellung eines Tools auf Crowd
Gegeben:Verzeichnis A in Crowd, verwendet von Confluence
Schritte: • JIRA-Benutzer in neues Crowd-
Verzeichnis B importieren• JIRA mit Crowd-Verzeichnis B
verbinden• Verzeichnisse A und B mischen
und als neues Verzeichnis C importieren• JIRA und Confl. mit C
verbinden.
Crowd
Confluence JIRA
A B
Donnerstag, 23. September 2010
Crowd-Tipp: Umstellung eines Tools auf Crowd
Gegeben:Verzeichnis A in Crowd, verwendet von Confluence
Schritte: • JIRA-Benutzer in neues Crowd-
Verzeichnis B importieren• JIRA mit Crowd-Verzeichnis B
verbinden• Verzeichnisse A und B mischen
und als neues Verzeichnis C importieren• JIRA und Confl. mit C
verbinden.
Crowd
Confluence JIRA
A B C
Donnerstag, 23. September 2010
Crowd-Tipp: Umstellung eines Tools auf Crowd
Gegeben:Verzeichnis A in Crowd, verwendet von Confluence
Schritte: • JIRA-Benutzer in neues Crowd-
Verzeichnis B importieren• JIRA mit Crowd-Verzeichnis B
verbinden• Verzeichnisse A und B mischen
und als neues Verzeichnis C importieren• JIRA und Confl. mit C
verbinden.
Crowd
Confluence JIRA
C
Donnerstag, 23. September 2010
Crowd
Crowd-Tipp: eingeschränkter Zugriff
• Situation: Sie eine Usergruppe, die Zugriff auf ein Tool, aber niemals andere
externer CSMitarbeiter
ConfluenceJIRA
Subversion
.........
• Beispiel: externe Customer-Support-Gruppe bei mobile
• Lösung:- separates Directory in Crowd für
dieses Gruppe anlegen- Directory für nur Confluence
freischalten, nicht für die weiteren Applikationen
• eingeschränkter Zugriff auf Confluence
• kein Zugriff auf andere Tools
Donnerstag, 23. September 2010
Server 1
Crowd-Tipp: Betriebsvariante Cold-Standby
CrowdInstanz 1
Server 2
CrowdInstanz 2
Server 0
Apache Load Balancer
MySQL-DBMySQL-
Replikation
aktiv passiv
• Anzahl Lizenzen: eine• nicht offiziell unterstützt
durch Atlassian• unterstützt durch
Communardo
passiv
Donnerstag, 23. September 2010
Crowd-Tipp: Synchronization
• Situation: Sie wollen ein Tool an Crowd anbinden, für welches kein Connector existiert.
• Beispiel: - TeamCity von JetBrains- Gitorious
• Lösung:- Authentifizierung via Plug-in- Authorisierung via automatischen
Sync von Crowd (API) zu Zielsystem-DB
Crowd
TeamCity Sync-Prozess
API
Plug-In
Donnerstag, 23. September 2010
Erfahrungen mit Crowd
Positiv
• Passwort-Reset unsicher• Integration in Atlassian-Tools
uneinheitlich (Password-Reset usw.)
• unklare Fehlermeldungen bei Verwendung einer Password-Policy
• Bugs mit verschachtelten Gruppen (z.B. Apahe)
• Import/Mischen von Verzeichnissen fehlerhaft.
Negativ
• verschachtelte Gruppen erleichtern die Modellierung (und verringern den Aufwand)
• Integration vieler Java-Tools einfach
Donnerstag, 23. September 2010
Erfahrungen mit Crowd (2)
• keine Verwaltung für Teilstrukturen
• keine AuditsAnforderung: Nachvollziehbarkeit für SOXAls ein SOX-Reviewer kann ich in einem Report die Veränderung der Nutzerbasis und ihrer Berechtigungen einsehen.
Anforderung: NachvollziehbarkeitAls ein Tool-Admin kann zwecks Analyse einer aktuellen Störung ein Protokoll der letzten Änderungen
Positiv NegativKontext:Wir wollen einen zentralistischen Ansatz für Konfigurations-management vermeiden.
Donnerstag, 23. September 2010
Erfahrungen mit Crowd (2)
• keine Verwaltung für Teilstrukturen
• keine AuditsAnforderung: Nachvollziehbarkeit für SOXAls ein SOX-Reviewer kann ich in einem Report die Veränderung der Nutzerbasis und ihrer Berechtigungen einsehen.
Anforderung: NachvollziehbarkeitAls ein Tool-Admin kann zwecks Analyse einer aktuellen Störung ein Protokoll der letzten Änderungen
Positiv NegativKontext:Wir wollen einen zentralistischen Ansatz für Konfigurations-management vermeiden.
Gutes Beispiel für ein Change-Audit: TeamCity von JetBrains
Donnerstag, 23. September 2010
Genügt ein Tool-Zoo unseren Anforderungen?
SonarCode Metriken
NexusMaven Repository Proxy
JIRATicket System
ConfluenceWiki System
SubversionVersion Control
Git/GitoriousVersion Control
CrowdID Management
Active Directory
FishEyeVersion Control Browsing
CrucibleCode Review Tools
TeamCityContinuous Integration
HudsonContinuous Integration
EclipseIDE
IntelliJIDE
CloverCode Coverage
MavenBuild Tool
Donnerstag, 23. September 2010
Genügt ein Tool-Zoo unseren Anforderungen?
SonarCode Metriken
NexusMaven Repository Proxy
JIRATicket System
ConfluenceWiki System
SubversionVersion Control
Git/GitoriousVersion Control
CrowdID Management
Active Directory
FishEyeVersion Control Browsing
CrucibleCode Review Tools
TeamCityContinuous Integration
HudsonContinuous Integration
EclipseIDE
IntelliJIDE
CloverCode Coverage
MavenBuild Tool
Anforderung: neues Projekt anlegenAls ein Tool-Admin (von Communardo) kann ich für ein neues Kundenprojekt alle Ressourcen in allen Tools anlegen innerhalb 30 Minuten.
Verwandte Anforderungen: - Zweig (Branch) in Versionsverwaltung erstellen - ...
Donnerstag, 23. September 2010
Genügt ein Tool-Zoo unseren Anforderungen?
SonarCode Metriken
NexusMaven Repository Proxy
JIRATicket System
ConfluenceWiki System
SubversionVersion Control
Git/GitoriousVersion Control
CrowdID Management
Active Directory
FishEyeVersion Control Browsing
CrucibleCode Review Tools
TeamCityContinuous Integration
HudsonContinuous Integration
EclipseIDE
IntelliJIDE
CloverCode Coverage
MavenBuild Tool
Zoo oder P
uzzle?
Donnerstag, 23. September 2010
Fragen & Antworten
Donnerstag, 23. September 2010
Vielen Dank für Ihre Aufmerksamkeit
Donnerstag, 23. September 2010