Ein Git-Repository in Azure DevOps per Kommandozeile anlegen

Der Dotnet-Doktor  –  0 Kommentare

Microsoft stellt zur automatisierten Verwaltung von Azure DevOps ein Kommandozeilenwerkzeug mit Namen "VSTS CLI" bereit.

In meinem Beitrag "Continuous Delivery mit Azure DevOps, Teil 1: Projektinstallation" für heise Developer habe ich beschrieben, wie man in Microsofts Cloud-Dienst "Azure DevOps" (vormals: Visual Studio Team Services, VSTS) mehrere Git-Repositories in einem Azure DevOps-Projekt einrichtet. In einem Kundenprojekt stellte sich mir kürzlich die Aufgabe, eine Vielzahl von Git-Repositories einzurichten und damit die Frage, ob anstelle eine "Klick-Orgie" im Webportal eine Automatisierung per Skript möglich ist.

VSTS CLI und PAT

Die Antwort ist: ja. Microsoft stellt dafür ein Kommandozeilenwerkzeug mit Namen "VSTS CLI" bereit (es wurde stand heute noch nicht umbenannt). Dieses Setup installiert unter C:\Program Files (x86)\Microsoft SDKs\VSTS\CLI ein auf Python basierendes Kommandozeilenwerkzeug, dass man über "vsts.bat" oder "vsts" aufruft.

Neben der Installation der VSTS-CLI benötigt man zur Automatisierung ein Personal Access Token (PAT), das man im Azure DevOps-Webportal unter der URL

https://dev.azure.com/ORGANISATION/_usersSettings/tokens

erhält. Hier ist an die Stelle ORGANISATION der eigene, bei Azure DevOps registrierte Organisationsname zu setzen. Alternativ kommt man zu der betreffenden Seite, indem man in dem Benutzerfoto rechts oben den Punkt "Security" wählt.

Git-Repo anlegen

Zunächst muss man sich in Azure DevOps mit dem PAT anmelden:

$PAT = "tlbnihc26zkrzux….bgpjx6xjqagt6..."
vsts login --token $PAT

Dann legt man die Organisation und das Projekt fest (hier sind ORGANISATION und PROJEKT entsprechend zu ersetzen!):

vsts configure --defaults instance=https://dev.azure.com/ORGANISATION/
vsts configure --defaults Project=PROJEKT

Mit einer Zeile kann man dann ein neues Git-Repository in diesem Projekt anlegen:

vsts code repo create --name "MeinRepo"

Das entstehende Repository ist dann über diese URL erreichbar:

https://dev.azure.com/ORGANISATION/PROJEKT/_git/MeinRepo

Eine Liste aller bestehenden Repositories erhält man so in Tabellenform:

vsts code repo list --output table

Details zu einem Git-Repository bekommt man durch diesen Befehl:

vsts code repo show --name "MeinRepo"