azure_devops_agent

Azure DevOps Агент

Роль Ansible, которая устанавливает и настраивает Linux-машину для использования в качестве агента сборки или развертывания Azure DevOps.

Смотрите этот блог для получения подробной информации.

Требования

Смотрите предварительные условия

Установка на MacOS может быть проблематичной, если вы пытаетесь использовать пользователя с правами администратора для подключения и другого пользователя для запуска сервиса. Установка параметра pipelining = True может помочь, особенно если у вас возникают проблемы, когда пользователь агента devops не может получить доступ к временным файлам, создаваемым ansible.

Переменные Роли

Доступные переменные указаны ниже, вместе с значениями по умолчанию (смотрите 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

    Имя вашей учетной записи Azure DevOps, т.е. https://dev.azure.com/YOUR_ACCOUNT_NAME

  • az_devops_accesstoken

    Личный токен доступа (PAT), используемый для аутентификации в вашей учетной записи. Смотрите здесь, как сгенерировать это значение.

    Примечание: подумайте о том, чтобы использовать Ansible Vault для защиты этого значения.

  • az_devops_project_name

    Имя проекта Azure DevOps, в котором будет зарегистрирован агент (используется только для групп развертывания).

  • az_devops_agent_version

    Версия установленного пакета агента. Должна обновляться до последней версии (смотрите здесь).

  • az_devops_agent_user

    Имя пользователя, используемого для запуска и настройки сервиса.

  • az_devops_agent_uid

    UID пользователя, используемого для запуска и настройки сервиса.

  • az_devops_agent_group

    Группа по умолчанию для пользователя, используемого для запуска и настройки сервиса.

  • az_devops_agent_name

    Имя агента, отображаемое в Azure DevOps (по умолчанию соответствует имени хоста).

  • az_devops_server_url

    URL вашей учетной записи Azure DevOps.

  • az_devops_agent_folder

    Расположение папки для всех файлов, специфичных для агента (примечание: важно, чтобы пользователь сервиса имел разрешения на выполнение всех файлов в этой папке).

  • az_devops_work_folder

    Расположение папки для всех файлов, специфичных для работы (например, загруженный исходный код и результаты сборки).

  • az_devops_agent_pool_name

    Имя пула, в который добавляется агент Azure DevOps.

  • az_devops_agent_role

    Используйте либо build, deployment, либо resource. Роль сборки позволяет использовать агента в качестве сервера сборки в процессе сборки или развертывания. Роль развертывания позволяет использовать агента в группе развертывания. Роль ресурса позволяет использовать агента как ресурс виртуальной машины, на которую можно нацеливаться в процессе развертывания и которая принадлежит окружению.

  • az_devops_deployment_group_tags

    Используется в сочетании с ролью агента deployment. Позволяет использовать теги для идентификации агента (например: QA, Staging, Prod и т.д.).

  • az_devops_deployment_group_name

    Используется в сочетании с ролью агента deployment. Имя группы развертывания, в которую будет добавлен агент. Эта группа должна быть создана вручную в вашем проекте Azure DevOps заранее.

  • az_devops_environment_name

    Используется в сочетании с ролью агента resource. Имя окружения, в которое будет добавлен ресурс VM. Это окружение должно быть создано вручную в вашем проекте Azure DevOps заранее.

  • az_devops_agent_replace_existing

    Добавляет аргумент --replace к скрипту конфигурации для случая, когда нужно заменить существующего агента на новом хосте.

  • az_devops_reconfigure_agent

    Принудительно перезапускает конфигурацию агента, даже если сервис уже активен.

  • az_devops_proxy_url

    URL прокси-сервера, формат http://url:port

    Предполагается, что прокси работает как с http, так и с https.

  • az_devops_proxy_username

    Имя пользователя для прокси.

    Если прокси не требует аутентификации, оставьте параметры по умолчанию.

  • az_devops_proxy_password

    Пароль для прокси.

    Если прокси не требует аутентификации, просто оставьте настройки по умолчанию.

    Примечание: подумайте о том, чтобы использовать Ansible Vault для защиты этого значения.

  • az_devops_agent_user_capabilities

    Словарь переменных окружения для установки для процесса агента, которые преобразуются в пользовательские возможности, что может быть полезно для установки требований к рабочему процессу развертывания

    Пример использования:

    - az_devops_agent_user_capabilities:
      user_capability_key: user_capability_value

Примеры Плейбука

Агент Сборки

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

Агент Развертывания

- 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"

Ресурс

- 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

Прокси

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

Лицензия

Авторские права © 2020, GSoft inc. Этот код лицензирован под лицензией Apache, версия 2.0. Вы можете получить копию этой лицензии на https://github.com/gsoft-inc/gsoft-license/blob/master/LICENSE.

О проекте

Azure DevOps Agent for Linux.

Установить
ansible-galaxy install gsoft-inc/ansible-role-azure-devops-agent
Лицензия
Unknown
Загрузки
12474
Владелец
Workleap is the one simple employee experience platform to elevate hybrid work