Startseite » Azure DevOps: Eine Einführung
Weg am See — Symbolbild für den DevOps-Pfad

Azure DevOps: Eine Einführung

Azure DevOps ist Microsofts umfassende Plattform für die Softwareentwicklung. Sie vereint Versionskontrolle, CI/CD-Pipelines, Projektmanagement, Testmanagement und Paketverwaltung unter einem Dach. In diesem Artikel gebe ich Ihnen einen Überblick über die fünf Hauptkomponenten und zeige, wie sie zusammenwirken, um den Entwicklungsprozess effizienter zu gestalten.

Die Geschichte: Von TFS zu Azure DevOps

Azure DevOps hat eine lange Entwicklungsgeschichte. Es begann als Team Foundation Server (TFS), einer On-Premises-Lösung für die Softwareentwicklung. Über Visual Studio Online und Visual Studio Team Services (VSTS) wurde die Plattform schrittweise in die Cloud überführt und im September 2018 unter dem Namen Azure DevOps neu positioniert.

Heute steht Azure DevOps in zwei Varianten zur Verfügung: als Cloud-Dienst (Azure DevOps Services) und als On-Premises-Installation (Azure DevOps Server). Beide bieten die gleichen Kernfunktionen, wobei die Cloud-Variante stets die neuesten Features zuerst erhält. Für kleine Teams mit bis zu fünf Benutzern ist der Cloud-Dienst kostenlos — ein hervorragender Einstieg.

Die fünf Säulen von Azure DevOps

1. Azure Repos — Versionskontrolle

Azure Repos bietet unbegrenzte, cloudgehostete Git-Repositories. Für Teams, die noch mit dem älteren TFVC (Team Foundation Version Control) arbeiten, wird auch dieses System unterstützt. Für neue Projekte empfehle ich jedoch ausdrücklich Git.

Die wichtigsten Features von Azure Repos:

  • Pull Requests: Code-Reviews sind ein integraler Bestandteil. Reviewer können direkt im Browser Kommentare hinterlassen, Änderungen vorschlagen und Genehmigungen erteilen.
  • Branch Policies: Sie können Richtlinien definieren, die erfüllt sein müssen, bevor Code in den Hauptbranch gemerged werden kann — etwa eine Mindestanzahl von Genehmigungen oder das erfolgreiche Durchlaufen einer Build-Pipeline.
  • Semantic Search: Durchsuchen Sie Ihren gesamten Code über alle Repositories hinweg mit einer leistungsfähigen Suchfunktion.

Ein typischer Git-Workflow in Azure Repos sieht so aus:

# Feature-Branch erstellen
git checkout -b feature/neue-funktion

# Änderungen committen
git add .
git commit -m "Neue Funktion implementiert"

# Branch pushen
git push origin feature/neue-funktion

# Pull Request über die Azure DevOps-Oberfläche erstellen

2. Azure Pipelines — CI/CD

Azure Pipelines ist das Herzstück für Continuous Integration und Continuous Delivery. Pipelines automatisieren das Bauen, Testen und Bereitstellen Ihrer Anwendungen. Sie unterstützen praktisch jede Programmiersprache und jede Zielplattform — von .NET und Java über Python und Node.js bis hin zu Docker-Containern und Kubernetes-Clustern.

Pipelines werden als YAML-Dateien definiert und zusammen mit dem Quellcode versioniert:

# azure-pipelines.yml
trigger:
  - main

pool:
  vmImage: 'ubuntu-latest'

steps:
  - task: UseDotNet@2
    inputs:
      version: '8.x'

  - script: dotnet build --configuration Release
    displayName: 'Build'

  - script: dotnet test --configuration Release --logger trx
    displayName: 'Tests ausführen'

  - task: PublishBuildArtifacts@1
    inputs:
      pathToPublish: '$(Build.ArtifactStagingDirectory)'
      artifactName: 'drop'
Sonnenuntergang am Steg — Symbolbild für den Weg in die Produktion

3. Azure Boards — Projektmanagement

Azure Boards bietet flexible Werkzeuge für die Projektverwaltung. Es unterstützt verschiedene Prozessmodelle:

  • Agile: Für Scrum-basierte Teams mit User Stories, Tasks und Bugs.
  • Scrum: Mit Product Backlog Items und Sprint-Planung.
  • CMMI: Für Teams, die ein formales Change Management benötigen.
  • Basic: Ein vereinfachtes Modell mit Issues und Tasks.

Das Kanban-Board ermöglicht die visuelle Nachverfolgung von Arbeitselementen über verschiedene Phasen hinweg. Sie können Spalten anpassen, WIP-Limits setzen und Swim Lanes für verschiedene Prioritäten oder Teams einrichten. Besonders wertvoll ist die Verknüpfung von Work Items mit Commits und Pull Requests — so sehen Sie jederzeit, welcher Code zu welcher Anforderung gehört.

4. Azure Test Plans — Testmanagement

Azure Test Plans ist das Werkzeug für manuelles und exploratives Testen. Es ermöglicht das Erstellen von Testplänen, Testsuiten und Testfällen und die Dokumentation der Testergebnisse. Die Integration mit den anderen Azure DevOps-Diensten erlaubt es, Bugs direkt aus einem fehlgeschlagenen Test heraus zu erstellen — mit automatisch angehängten Screenshots und Systeminformationen.

Für automatisierte Tests bieten die Pipelines umfangreiche Möglichkeiten: Unit-Tests, Integrationstests und UI-Tests können als Teil der CI/CD-Pipeline ausgeführt werden. Die Testergebnisse werden zentral gesammelt und in übersichtlichen Dashboards dargestellt.

5. Azure Artifacts — Paketverwaltung

Azure Artifacts ist ein vollwertiger Paketmanager, der NuGet, npm, Maven, Python (pip) und Universal Packages unterstützt. Sie können eigene Pakete veröffentlichen und über Feeds an Ihre Teams verteilen. Upstream-Quellen ermöglichen es, öffentliche Pakete (etwa von nuget.org oder npmjs.com) über den gleichen Feed zu beziehen und dabei zu cachen.

Für Unternehmen mit vielen internen Bibliotheken ist Azure Artifacts besonders wertvoll: Es schafft eine zentrale Stelle für die Verteilung gemeinsam genutzter Komponenten und bietet Versionierung und Zugriffskontrolle.

Integration und Erweiterbarkeit

Einer der größten Vorteile von Azure DevOps ist die umfangreiche Integration mit anderen Werkzeugen. Der Visual Studio Marketplace bietet tausende Erweiterungen — von Slack-Benachrichtigungen über SonarQube-Integration bis hin zu Terraform-Deployments.

Die REST-API ermöglicht die programmatische Steuerung aller Funktionen. So können Sie benutzerdefinierte Integrationen bauen, Berichte erstellen oder Prozesse automatisieren, die über die Standard-Funktionalität hinausgehen.

Azure DevOps vs. GitHub

Seit Microsoft 2018 GitHub übernommen hat, stellt sich die Frage: Welche Plattform ist die richtige Wahl? Die Antwort hängt vom Kontext ab:

Azure DevOps eignet sich besonders für Unternehmen, die eine integrierte Lösung für den gesamten Entwicklungsprozess suchen, bereits Microsoft-Technologien einsetzen oder komplexe Projektmanagement-Anforderungen haben.

GitHub ist die bessere Wahl für Open-Source-Projekte, entwicklerzentrierte Teams und Organisationen, die eine schlankere, community-orientierte Plattform bevorzugen. GitHub Actions bietet inzwischen ähnliche CI/CD-Fähigkeiten wie Azure Pipelines.

Beide Plattformen nähern sich einander an, und Microsoft hat deutlich gemacht, dass beide langfristig unterstützt werden. Eine detaillierte Übersicht bietet die Wikipedia-Seite zu Azure DevOps.

Erste Schritte

Um mit Azure DevOps zu starten, erstellen Sie eine Organisation unter dev.azure.com. Das kostenlose Kontingent umfasst fünf Benutzer mit unbegrenzten privaten Repos und 1.800 Minuten Build-Zeit pro Monat für Cloud-hosted Agents. Erstellen Sie ein erstes Projekt, laden Sie Ihr Team ein und beginnen Sie mit einem einfachen Repository und einer Build-Pipeline. Von dort aus können Sie schrittweise weitere Dienste hinzufügen.

Fazit

Azure DevOps ist eine ausgereifte, umfassende Plattform für die Softwareentwicklung. Die Integration der fünf Dienste — Repos, Pipelines, Boards, Test Plans und Artifacts — schafft einen nahtlosen Workflow von der Anforderung bis zur Bereitstellung. Ob kleines Startup oder großes Unternehmen: Azure DevOps skaliert mit Ihren Anforderungen und bietet die Werkzeuge, die moderne Softwareteams benötigen.