© AInspiring/Shutterstock.com
Azure DevOps einfach per Kommandozeile steuern

Eine Zeile für die Cloud


Die Konfiguration und die Prozesse in Microsofts Clouddienst Azure DevOps kann man auch per Kommandozeile statt per Klickorgien steuern. In diesem Artikel wird erklärt, wie es geht und was alles zu beachten ist.

Azure DevOps ist die Nachfolgemarke von Team Foundation Server (TFS) und Visual Studio Team Services (VSTS). Microsoft differenziert durch die Zusätze „Azure DevOps Server“ und „Azure DevOps Services“ zwischen der lokal installierbaren Version und der Cloudversion. Aktuelle Version des Servers ist 2019.0.1, siehe Release Notes [1]. Das zum Redaktionsschluss aktuelle Release der Cloudvariante ist Sprint 154 [2]. Hierin findet man in den Release Notes den Eintrag „Azure DevOps CLI general availability“.

Von VSTS CLI zu Azure DevOps CLI

Die Steuerung von Azure DevOps per Kommandozeile (CLI, Command Line Interface) bietet sich für wiederkehrende Aufgaben oder Anwendungsintegration an. So könnte man zum Beispiel aus einer Monitoringsoftware heraus automatisch Bugs in Azure DevOps anlegen, wenn es zu Fehlern im laufenden Betrieb kommt. Per Kommandozeile lassen sich derzeit viele, aber nicht alle Funktionen von Azure DevOps steuern. Man kann zum Beispiel Projekte, Git Repositories, Pipelines, Work Items, Wikis, Banner sowie Teams, Gruppen und Benutzer anlegen und verwalten. Allerdings kann man keine Repositories mit Team Foundation Version Control (TFVC) damit administrieren. Auch das Hinzufügen von Benutzern zu Teams ist noch nicht im Angebot.

Das Azure DevOps CLI gibt es seit Februar 2019 als Preview, doch es ist nun am 8. Juli 2019 im Stadium „General Availability“ keineswegs fertig, wie der Beitrag noch aufzeigen wird. Es gab schon ein Vorgängerprodukt, das VSTS CLI [3], das trotz seines auf die Cloudvariante hindeutenden Namens auch mit dem lokalen TFS (ab Version 2017 Update 2) funktionierte.

Bei GitHub findet man noch einen Abzweig des alten Entwicklungsstands [4] mit der Aussage „VSTS CLI is a new command line interface for Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) 2017 Update 2 and later“. Diese Aussage ist jedoch veraltet; auf der echten Projektseite von Microsoft [5] liest man dann auch klar: „The Azure CLI with the Azure DevOps Extension has replaced the VSTS CLI. The VSTS CLI has been deprecated and will no longer be receiving new features. We recommend that users of the VSTS CLI switch to the Azure CLI and add the Azure DevOps extension.“

Azure CLI als Grundlage

Während das VSTS CLI ein in Python implementiertes, eigenständiges Werkzeug (vsts, installiert in C:\Program Files (x86)\Microsoft SDKs\VSTS\CLI) war, ist das Azure DevOps CLI eine Erweiterung zum allgemeinen Azure CLI (az). Auch az ist in Python geschrieben und installiert sich im Standard in C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2. Die 2 am Ende dieses Dateipfads weist darauf hin, dass das Azure CLI die zweite Generation der Kommandozeilenwerkzeuge für Azure darstellt. Die erste Generation hatte als Befehlsnamen „azure“. Die zweite Version (az) wurde zunächst Azure CLI 2.0 genannt. Seit Juni 2018 differenziert Microsoft nun aber mit Azure CLI und Azure Classic CLI zwischen den beiden Produkten [6].

Für einen Nutzer, der Azure DevOps per Kommandozeile steuern möchte, bedeutet dies, dass er zuerst auf seiner Festplatte das aktuelle Azure CLI installieren muss. Die jeweils neueste Version erhält man unter [7]. Für Windows findet man dort einen MSI-Installer. Unter macOS ist eine Installation per homebrew (brew update && brew install azure-cli) vorgesehen. Für Linux-basierte Betriebssysteme kann man apt, yum, zypper oder eine manuelle Installation verwenden.

Zum Redaktionsschluss ist beim Azure CLI die Version 2.0.68 vom 3. Juli 2019 aktuell. Um die Azure-DevOps-Erweiterung für das Azure CLI nutzen zu können, ist mindestens Version 2.0.49 erforderlich. Der Benutzer kann die Kommandozeilenshell seiner Wahl verwenden. Unter Windows z. B. Windows PowerShell, PowerShell Core, die klassische Windows-Shell (cmd), das neue Windows Terminal [8] oder die Bash Shell im Windows-Subsystem für Linux (WSL). Hier soll PowerShell 7.0 Preview 1 zum Einsatz kommen, um die objektorientierte Pipeline nutzen und die Ergebnisse des Azure CLI weiterverarbeiten zu können. Ältere Varianten der PowerShell funktionieren aber gleichermaßen. Die meisten der hier vorgestellten Befehle funktionieren freilich auch ohne PowerShell Pipelines in der CMD oder Bash.

Um die aktuelle Version des Azure CLI abzufragen, gibt man az --version ein und erhält dann eine lange Tabelle mit allen im Azure CLI installierten Befehlsmodulen und den Erweiterungen. Falls man noch eine ältere Version des CLI verwendet, d. h. eine neuere vorliegt, wird man am Ende dieser Liste praktischerweise darauf hingewiesen.

Normalerweise zeigt diese Versionsausgabe keine Erweiterungen. Eine Erweiterung muss man erst explizit installieren. Dafür braucht man kein M...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang