gsoft.azure_devops_agent
Azure DevOps Agent
Eine Ansible-Rolle, die einen Linux-Rechner installiert und konfiguriert, um als Azure DevOps Build- oder Bereitstellungsagent verwendet zu werden.
Siehe diesen Blogbeitrag für weitere Details.
Anforderungen
Die Installation auf MacOS kann problematisch sein, wenn man einen Administrationsbenutzer für die Verbindung und einen anderen Benutzer für den Dienst verwendet.
Die Option pipelining = True
kann helfen, insbesondere wenn es Probleme gibt, dass der DevOps-Agent-Benutzer nicht auf die temporären Dateien zugreifen kann, die Ansible erstellt.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
az_devops_accountname: null
az_devops_accesstoken: null
az_devops_project_name: null
az_devops_agent_version: 2.188.3
az_devops_agent_user: "az_devops_agent"
az_devops_agent_uid: null
az_devops_agent_name: "{{ ansible_hostname }}"
az_devops_server_url: "https://dev.azure.com/{{ az_devops_accountname }}"
az_devops_agent_folder: "/home/{{ az_devops_agent_user }}/agent/"
az_devops_work_folder: "/home/{{ az_devops_agent_user }}/agent/_work"
az_devops_agent_pool_name: "Default"
az_devops_agent_role: "build"
az_devops_deployment_group_tags: null
az_devops_environment_name: null
az_devops_deployment_group_name: null
az_devops_agent_replace_existing: false
az_devops_reconfigure_agent: false
az_devops_agent_user_capabilities: null
az_devops_proxy_url: null
az_devops_proxy_username: null
az_devops_proxy_password: null
az_devops_accountname
Der Name Ihres Azure DevOps-Kontos, z. B. https://dev.azure.com/IHR_ACCOUNT_NAME
az_devops_accesstoken
Das Personal Access Token (PAT), das zur Authentifizierung bei Ihrem Konto verwendet wird. Hier erfahren Sie, wie Sie diesen Wert generieren.
Hinweis: Denken Sie daran, Ansible Vault zu verwenden, um diesen Wert zu sichern.
az_devops_project_name
Der Name des Azure DevOps-Projekts, in dem der Agent registriert werden soll (nur für Bereitstellungsgruppen verwendet).
az_devops_agent_version
Version des installierten Agent-Pakets. Sollte regelmäßig auf die neueste Version aktualisiert werden (siehe hier).
az_devops_agent_user
Der Name des Benutzers, der zum Ausführen und Konfigurieren des Dienstes verwendet wird.
az_devops_agent_uid
UID des Benutzers, der zum Ausführen und Konfigurieren des Dienstes verwendet wird.
az_devops_agent_group
Standardgruppe des Benutzers, der zum Ausführen und Konfigurieren des Dienstes verwendet wird.
az_devops_agent_name
Der Name des Agents, der in Azure DevOps angezeigt wird (standardmäßig der Name des Hosts).
az_devops_server_url
URL Ihres Azure DevOps-Kontos.
az_devops_agent_folder
Ordnerstandort für alle agentenspezifischen Dateien (Hinweis: Wichtig, dass der Dienstbenutzer Ausführungsberechtigungen für alle Dateien in diesem Ordner benötigt).
az_devops_work_folder
Ordnerstandort für alle arbeitsbezogenen Dateien (z. B. heruntergeladener Quellcode und Build-Ergebnisse).
az_devops_agent_pool_name
Poolname, in dem der Azure DevOps-Agent hinzugefügt wird.
az_devops_agent_role
Verwenden Sie entweder
build
,deployment
oderresource
. Die Rolle "Build" ermöglicht die Verwendung des Agents als Build-Server in der Pipeline für Builds oder Releases. Die Rolle "Deployment" erlaubt die Verwendung des Agents in einer Bereitstellungsgruppe. Die Rolle "Resource" ermöglicht die Verwendung des Agents als virtuelle Maschinenressource, die von Bereitstellungen aus einer Pipeline angesteuert werden kann und zu einer Umgebung gehört.az_devops_deployment_group_tags
Verwendung in Verbindung mit der Rolle
deployment
. Ermöglicht die Verwendung von Tags zur Identifizierung des Agents (z. B. QA, Staging, Prod usw.).az_devops_deployment_group_name
Verwendung in Verbindung mit der Rolle
deployment
. Der Name der Bereitstellungsgruppe, in die der Agent hinzugefügt werden soll. Diese muss zuvor manuell in Ihrem Azure DevOps-Projekt erstellt werden.az_devops_environment_name
Verwendung in Verbindung mit der Rolle
resource
. Der Name der Umgebung, in die die VM-Ressource hinzugefügt werden soll. Diese muss zuvor manuell in Ihrem Azure DevOps-Projekt erstellt werden.az_devops_agent_replace_existing
Fügt das Argument
--replace
zum Konfigurationsskript für das Szenario hinzu, in dem Sie einen vorhandenen Agenten durch einen neuen Host ersetzen müssen.az_devops_reconfigure_agent
Erzwingt eine Neukonfiguration des Agents, auch wenn der Dienst bereits aktiv ist.
az_devops_proxy_url
Die URL des Proxyservers im Format
http://url:port
Dies setzt voraus, dass der Proxy sowohl http als auch https verarbeitet.
az_devops_proxy_username
Benutzername für den Proxy
Wenn der Proxy keine Authentifizierung benötigt, lassen Sie die Standardwerte einfach unverändert.
az_devops_proxy_password
Passwort für den Proxy
Wenn der Proxy keine Authentifizierung benötigt, lassen Sie die Standardwerte einfach unverändert.
Hinweis: Denken Sie daran, Ansible Vault zu verwenden, um diesen Wert zu sichern.
az_devops_agent_user_capabilties
Ein Wörterbuch von Umgebungsvariablen, die für den Agent-Prozess festgelegt werden, um Benutzerfähigkeiten zu definieren, die bei der Festlegung von Release-Pipeline-Anforderungen hilfreich sein können.
Beispielverwendung:
- az_devops_agent_user_capabilties:
user_capabilty_key: user_capability_value
Beispiel-Playbooks
Build-Agent
- hosts: agents
roles:
- gsoft.azure_devops_agent
vars:
- az_devops_agent_role: build
- az_devops_accountname: fubar
- az_devops_accesstoken: ***
Bereitstellungsagent
- hosts: agents
roles:
- gsoft.azure_devops_agent
vars:
- az_devops_agent_role: deployment
- az_devops_accountname: fubar
- az_devops_accesstoken: ***
- az_devops_project_name: baz
- az_devops_deployment_group_name: fubar_group
- az_devops_deployment_group_tags: "web,prod"
Ressource
- hosts: agents
roles:
- gsoft.azure_devops_agent
vars:
- az_devops_agent_role: resource
- az_devops_accountname: fubar
- az_devops_accesstoken: ***
- az_devops_project_name: baz
- az_devops_environment_name: staging
Proxy
- hosts: agents
roles:
- gsoft.azure_devops_agent
vars:
- az_devops_agent_role: build
- az_devops_accountname: fubar
- az_devops_accesstoken: ***
- az_devops_proxy_url: "http://127.0.0.1:8080"
- az_devops_proxy_username: bob
- az_devops_proxy_password: ***
Lizenz
Copyright © 2020, GSoft Inc. Dieser Code ist unter der Apache License, Version 2.0 lizenziert. Eine Kopie dieser Lizenz finden Sie unter https://github.com/gsoft-inc/gsoft-license/blob/master/LICENSE.
ansible-galaxy install gsoft.azure_devops_agent