Unbeausichtigte Installation eines selbstgehosteten Azure Pipeline Agents

In der Seite Self-hosted Windows agents beschreibt Microsoft ausführlich, wie ein Pipeline Agent auf einem Windows Betriebssystem installiert und konfiguriert wird. 

Im Abschnitt Unattended config wird beschrieben, wie welchen Parametern eine unbeaufsichtigte Konfiguration durchgeführt werden kann.

Unbeaufsichtigte Konfiguration

Ich arbeite viel mit Service Accounts in einer geschlossenen Umgebung. Deshalb nutze ich die unbeaufsichtigte Konfiguration wie folgt:

config.cmd --unattended --agent [AGENT-NAME] --pool [AGENT-POOL-NAME] --url [AZURE-DEVOPS-URL] --auth Negotiate --userName [SERVICE-ACCOUNT] --password "[SERVICE-ACCOUNT-PASSWORD]" --runAsService --windowsLogonAccount [SERVICE-ACCOUNT] --windowsLogonPassword "[SERVICE-ACCOUNT-PASSWORD]"

Mit dieser Konfiguration wird der Pipeline Agent als Windows Service angelegt. Der Windows Service wird dabei im Kontext die Identität des Service Accouonts ausgeführt. Als Authentifizierungstyp setze ich Negotiate ein. Damit sich der Pipeline Agent gegen den Azure DevOps Server verbinden kann, muss der Benutzername und das Passwort zur Authentifizierung gegen den DevOps Server angegeben werden. Sollte der Azure DevOps Server in einer anderen Domäne eingesetzt werden, kann durch Angabe der entsprechenden Benutzername / Passwort Kombination eine Authentifizierung durchgeführt werden.

Wenn die Azure DevOps Services verwendet werden, ist die folgende unbeaufsichtigte Konfiguration sinnvoll:

config.cmd --unattended --agent [AGENT-NAME] --pool [AGENT-POOL-NAME] --url [AZURE-DEVOPS-URL] --auth PAT --token [AUTH-TOKEN] --runAsService --windowsLogonAccount [SERVICE-ACCOUNT] --windowsLogonPassword "[SERVICE-ACCOUNT-PASSWORD]"

Bei dieser Konfiguration wird ein Authentifizierungstoken verwendet. Der Authentifizierungstoken kann in den Azure DevOps Services über das eigene Profil erzeugt werden.

 

Unbeaufsichtigte Deinstallation

so wie eine Installation und Konfiguration automatisiert ausgeführt werden kann, so wird auch eine unbeaufsichtigte Deinstallation unterstützt.

Im der folgenden Konfiguration wird eine bestehende Konfiguration in einer geschlossenen Umgebung entfernt:

 

config.cmd remove --unattended --auth Negotiate --userName [SERVICE-ACCOUNT] --password "[SERVICE-ACCOUNT-PASSWORD]"

In der folgenden Konfiguration wird eine bestehende Konfiguration zu Azure DevOps Service entfernt: 

config.cmd remove --unattended --auth PAT --token [AUTH-TOKEN]

 

Wenn ich damit helfen konnte, lass einen Kommentar da.

Viele Grüße,
Olli

Kommentar schreiben