07. November, Zürich-Oerlikon ALM & DevOps Day 24. September 2015, Zürich Oerlikon
Warum ein neues Build System?
Begrenzte Skalierbarkeit
Zwei Technologien, hohe Lernkurve
Umständliche Erweiterbarkeit (v. A. 3rd Party)
Starke Versionsabhängigkeiten (VS vs. TFS)
Hoher Update-/Upgrade-Aufwand
Nicht Cross-Plattform
Keine neue Build DSL
Bestehende Build DSLnutzen
Einfache Erweiterbarkeit
Support für Cross-Platform (NodeJs basierter Xplat Agent)
Direkte Logfiles
Extensibility
Build Tasks basieren auf Skripten Grundsätzlich sollten keine eignen Task geschrieben werden müssen Windows: Power Shell Xplat: JavaScript
Custom Build Tasks als Paket auf TFS Wird als Zip Datei auf TFS geladen. Agents laden dieses automatisch herunter
Alle OOB Tasks sind Open Source Idee einer Community https://github.com/Microsoft/vso-agent-tasks
Architektur
SxS mit XAML BuildsSupport ist garantiert, keine weitere Entwicklung
Keine physikalischen Controller!
Agents Pools werden auf Deployment-Level definiert
Agents können per xcopy ausgeliefert werden. Auto-Update durch Server.
Bisherige Archtektur
Team Project
Collection
Build Controller
Build Agent
Team Project
Collection
Build Controller
Build Agent Build Agent Build Agent Build Agent
[…]
Symbol Server
Drop Server
Neue Agent Architektur
TFS Deployment
C1 C2
Pool1 Pool1
Pool2
Pool1Pool2
Controller
Machine 1
Machine 2
Machine 3
A1P1 A3
A1P2A2P1
A2P2
A4P2 A5P2
A3P2
C1
A1 A2
Abwärtskompatibilität
TFS (Deployment)Build-Server 1
Build-Server 2
Pool 1 Pool 2
TPC 1 TPC 2
A1P1
A1P2A2P1
A4P2
A3P2
A5P2
Q-Pool 1
Q-Pool 2
Q-Pool 1A2P2
Cont.
A3
Build-Server 3
Controller*
A1 A2
*TFS 2010 - 2015
Migration
Keine!
Side by Side
Tipp: Verwenden Sie schon jetzt Skripte für Pre-und Post-Build Aktionen
Security
Jeder Build läuft in eigenem Prozess
Pool Administration kann delegiert werden.Neue Ressourcen können ohne Collection- oder Deployment-weite Berechtigungen hinzugefügt werden.
Jeder Build erhält ein eindeutiges Access-Token für den BuildÜber einen Build können keine unautorisierten Daten abgefragt werden (z.B. über Unit Test)
Zusammenfassung
Einfachere TFS Infrastruktur
Skripte stehen im Fokus, einfache Erweiterbarkeit
Cross-Plattform
Workshops / Kurse
19. November 2015Modernes Application Lifecycle Management der nächsten Generation (DevOps) mit Visual Studio Team Foundation Serverhttp://4tectu.re/eventalm-nov2015
Einführungs-Workshopshttp://4tecture.ch/publictrainings
Individuelle Firmenkursehttp://4tecture.ch/trainings
Besten Dank für Ihre Aufmerksamkeit
Für allfällige Fragen stehen wir Ihnen jederzeit gerne zur Verfügung:
4tecture GmbH Marc Müller
Aathalstrasse 84 Principal Consultant
CH-8610 Uster
+41 44 508 37 00 [email protected]
[email protected] @muellermarc
www.4tecture.ch