gsoft.azure_devops_agent

Agent Azure DevOps

Un rôle Ansible qui installe et configure une machine Linux pour être utilisée comme un agent de construction ou de déploiement Azure DevOps.

Voir cet article de blog pour plus de détails.

Exigences

Voir les prérequis

L'installation sur MacOS peut poser problème lorsqu'on essaie d'utiliser un utilisateur administrateur pour se connecter et un autre utilisateur pour exécuter le service. pipelining = True peut aider, surtout si vous rencontrez des problèmes où l'utilisateur de l'agent DevOps ne peut pas accéder aux fichiers temporaires créés par Ansible.

Variables du Rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir 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

    Le nom de votre compte Azure DevOps, par exemple https://dev.azure.com/VOTRE_NOM_DE_COMPTE

  • az_devops_accesstoken

    Le Jeton d'Accès Personnel (PAT) utilisé pour s'authentifier sur votre compte. Voir ici pour les détails sur la génération de cette valeur.

    Note : Pensez à utiliser Ansible Vault pour sécuriser cette valeur.

  • az_devops_project_name

    Le nom du projet Azure DevOps dans lequel enregistrer l'agent (utilisé uniquement pour les groupes de déploiement).

  • az_devops_agent_version

    Version du package de l'agent installé. Doit être mis à jour périodiquement vers la dernière version (voir ici).

  • az_devops_agent_user

    Nom de l'utilisateur utilisé pour exécuter et configurer le service.

  • az_devops_agent_uid

    UID de l'utilisateur utilisé pour exécuter et configurer le service.

  • az_devops_agent_name

    Nom de l'agent affiché dans Azure DevOps (par défaut, c'est le nom de l'hôte).

  • az_devops_server_url

    URL de votre compte Azure DevOps.

  • az_devops_agent_folder

    Emplacement du dossier pour tous les fichiers spécifiques à l'agent (note : il est important que l'utilisateur du service ait des permissions d'exécution sur tous les fichiers de ce dossier).

  • az_devops_work_folder

    Emplacement du dossier pour tous les fichiers spécifiques au travail (c'est-à-dire le code source récupéré et les résultats de construction).

  • az_devops_agent_pool_name

    Nom du pool dans lequel l'agent Azure DevOps est ajouté.

  • az_devops_agent_role

    Utilisez soit build, deployment ou resource. Le rôle de construction permet d'utiliser l'agent comme serveur de construction dans une pipeline de construction ou de déploiement. Le rôle de déploiement permet d'utiliser l'agent dans un groupe de déploiement. Le rôle de ressource permet d'utiliser l'agent comme une ressource de machine virtuelle qui peut être ciblée par des déploiements à partir d'une pipeline et qui appartient à un environnement.

  • az_devops_deployment_group_tags

    À utiliser en conjonction avec le rôle d'agent deployment. Permet d'utiliser des tags pour identifier l'agent (ex : QA, Staging, Prod, etc.)

  • az_devops_deployment_group_name

    À utiliser en conjonction avec le rôle d'agent deployment. Nom du groupe de déploiement dans lequel ajouter l'agent. Cela doit être créé manuellement dans votre projet Azure DevOps au préalable.

  • az_devops_environment_name

    À utiliser en conjonction avec le rôle d'agent resource. Nom de l'environnement dans lequel ajouter la ressource machine virtuelle. Cela doit être créé manuellement dans votre projet Azure DevOps au préalable.

  • az_devops_agent_replace_existing

    Ajoute l'argument --replace au script de configuration pour le scénario où vous devez remplacer un agent existant par un nouvel hôte.

  • az_devops_reconfigure_agent

    Force une reconfiguration de l'agent même si le service est déjà actif.

  • az_devops_proxy_url

    L'URL du serveur proxy, le format est http://url:port

    Cela suppose que le proxy gère à la fois http et https.

  • az_devops_proxy_username

    Nom d'utilisateur pour le proxy.

    Si le proxy ne nécessite pas d'authentification, laissez simplement les valeurs par défaut.

  • az_devops_proxy_password

    Mot de passe pour le proxy.

    Encore une fois, si le proxy ne nécessite pas d'authentification, laissez simplement les valeurs par défaut.

    Note : Pensez à utiliser Ansible Vault pour sécuriser cette valeur.

  • az_devops_agent_user_capabilities

    Un dictionnaire de variables d'environnement à définir pour le processus de l'agent, qui se traduit par des capacités utilisateur, ce qui peut être utile pour définir les demandes de pipeline de publication.

    Exemple d'utilisation :

    - az_devops_agent_user_capabilities:
      user_capability_key: user_capability_value

Exemples de Playbooks

Agent de Construction

- hosts: agents
  roles:
      - gsoft.azure_devops_agent
  vars:
    - az_devops_agent_role: build
    - az_devops_accountname: fubar
    - az_devops_accesstoken: ***

Agent de Déploiement

- 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: ***

Licence

Copyright © 2020, GSoft inc. Ce code est sous licence Apache, Version 2.0. Vous pouvez obtenir une copie de cette licence sur https://github.com/gsoft-inc/gsoft-license/blob/master/LICENSE.

À propos du projet

Azure DevOps Agent for Linux.

Installer
ansible-galaxy install gsoft.azure_devops_agent
Licence
Unknown
Téléchargements
13k
Propriétaire
Workleap is the one simple employee experience platform to elevate hybrid work