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