Подготовка агентов для групп развертывания

  1. на вкладке группы развертыванияAzure Pipelinesвыберите + создать , чтобы создать новую группу.

  2. Введите имя группы и, при необходимости, описание, а затем нажмите кнопку создать.

  3. В разделе Регистрация компьютеров с помощью командной строки на следующей странице Выберите операционную систему целевого компьютера.

  4. Выберите использовать личный маркер доступа в скрипте для проверки подлинности. Подробнее.

  5. Выберите Копировать скрипт в буфер обмена.

  6. Войдите на каждый целевой компьютер, используя учетную запись с соответствующими разрешениями и:

    • Откройте командную строку PowerShell администратора, вставьте скопированный скрипт, а затем выполните его, чтобы зарегистрировать компьютер в этой группе.

    • Если при выполнении скрипта, который не удалось создать защищенный канал, появляется сообщение об ошибке, выполните эту команду в командной строке PowerShell администратора:

      [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

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

      Назначенные Теги позволяют ограничить развертывание конкретными серверами, если группа развертывания используется в задании " Запуск в группе компьютеров".

    • При появлении запроса на указание учетной записи пользователя щелкните Возврат, чтобы принять значения по умолчанию.

    • Дождитесь завершения сценария с сообщением Service vstsagent.{organization-name}.{computer-name} started successfully .

  7. на странице группы развертыванияAzure Pipelinesоткройте вкладку компьютеры и убедитесь, что агенты работают. Если настроенные теги не видны, обновите страницу.

установка расширения виртуальной машины Azure Azure Pipelines Agent

  1. на вкладке группы развертыванияAzure Pipelinesвыберите + создать , чтобы создать новую группу.

  2. Введите имя группы и, при необходимости, описание, а затем нажмите кнопку создать.

  3. в портал Azure для каждой виртуальной машины, которая будет включена в группу развертывания, откройте колонку расширение , выберите + добавить , чтобы открыть список новый ресурс , и выберите агент Azure Pipelines.

    Installing the Azure Pipelines Agent extension

  4. в колонке установка расширения укажите имя используемой подписки Azure Pipelines. Например, если URL-адрес имеет значение https://dev.azure.com/contoso , просто укажите https://dev.azure.com/contoso.

  5. Укажите имя проекта и имя группы развертывания.

  6. При необходимости укажите имя агента. Если не указано, используется имя виртуальной машины, к которому добавляется -DG .

  7. Введите личный маркер доступа (PAT) , который будет использоваться для проверки подлинности в Azure pipelines.

  8. При необходимости укажите разделенный запятыми список тегов, которые будут настроены в агенте. В тегах регистр не учитывается, и длина каждого из них не должна превышать 256 символов.

  9. Нажмите кнопку ОК , чтобы начать установку агента на этой виртуальной машине.

  10. Добавьте расширение на все другие виртуальные машины, которые необходимо включить в эту группу развертывания.

Использование задачи ARM Шаблоны развертывания

Важно!

Эти инструкции относятся к версии 2 задачи. Переключить версию задачи с 3 на 2.

вы можете использовать задачу ARM Шаблоны развертывания , чтобы развернуть шаблон Azure Resource Manager (arm), который устанавливает расширение виртуальной машины Azure Azure Pipelines при создании виртуальной машины, или обновить группу ресурсов, чтобы применить расширение после создания виртуальной машины. Кроме того, можно использовать дополнительные параметры развертывания задачи ARM Шаблоны развертывания, чтобы развернуть агент в группах развертывания.

установка расширения виртуальной машины Azure "Azure Pipelines Agent" с помощью шаблона ARM

Шаблон ARM — это JSON-файл, который декларативно определяет набор ресурсов Azure. Этот шаблон может быть автоматически прочитан и ресурсами, подготовленными Azure. В одном шаблоне можно развернуть несколько служб и их зависимые компоненты.

для Windows виртуальной машины создайте шаблон ARM и добавьте в ресурс элемент resources, Microsoft.Compute/virtualMachine как показано ниже:

"resources": [
  {
    "name": "[concat(parameters('vmNamePrefix'),copyIndex(),'/TeamServicesAgent')]",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "[parameters('location')]",
    "apiVersion": "2015-06-15",
    "dependsOn": [
        "[resourceId('Microsoft.Compute/virtualMachines/',
                      concat(parameters('vmNamePrefix'),copyindex()))]"
    ],
    "properties": {
      "publisher": "Microsoft.VisualStudio.Services",
      "type": "TeamServicesAgent",
      "typeHandlerVersion": "1.0",
      "autoUpgradeMinorVersion": true,
      "settings": {
        "VSTSAccountName": "[parameters('VSTSAccountName')]",
        "TeamProject": "[parameters('TeamProject')]",
        "DeploymentGroup": "[parameters('DeploymentGroup')]",
        "AgentName": "[parameters('AgentName')]",
        "Tags": "[parameters('Tags')]"
      },
      "protectedSettings": {
      "PATToken": "[parameters('PATToken')]"
     }
   }
  }
]

где:

  • Встсаккаунтнаме является обязательным. используемая подписка Azure Pipelines. Пример. Если URL-адрес имеет значение https://dev.azure.com/contoso , просто укажите contoso
  • TeamProject является обязательным. Проект, в котором определена группа развертывания
  • DeploymentGroup является обязательным. Группа развертывания, в которой будет зарегистрирован агент развертывания
  • Ажентнаме является необязательным. Если не указано, будет использоваться имя виртуальной машины с -DG добавлением
  • Теги являются необязательными. Разделенный запятыми список тегов, которые будут установлены в агенте. Теги не учитывают регистр, а длина каждого из них не должна превышать 256 символов.
  • Паттокен является обязательным. личный маркер доступа, который будет использоваться для проверки подлинности Azure Pipelines для скачивания и настройки агента.

Примечание

При развертывании на виртуальной машине Linux убедитесь, что type параметр в коде имеет значение TeamServicesAgentLinux .

Устранение неполадок с расширением

Это некоторые известные проблемы с расширением:

  • файл состояния слишком большой: эта проблема возникает на Windows виртуальных машинах. она не наблюдалась на виртуальных машинах Linux. Файл состояния содержит объект JSON, который описывает текущее состояние расширения. Объект — это заполнитель для перечисления операций, выполненных до сих пор. Azure считывает этот файл состояния и передает объект состояния в ответ на запросы API. Файл имеет максимально допустимый размер; Если размер превышает пороговое значение, Azure не сможет полностью прочитать его и выдает ошибку для состояния. При каждой перезагрузке компьютера некоторые операции выполняются с помощью расширения (несмотря на то, что оно может быть успешно установлено ранее), в которое добавляется файл состояния. Если компьютер перезагружается большое количество раз, размер файла состояния превышает пороговое значение, что приводит к возникновению этой ошибки. Сообщение об ошибке: Handler Microsoft.VisualStudio.Services.TeamServicesAgent:1.27.0.2 status file 0.status size xxxxxx bytes is too big. Max Limit allowed: 131072 bytes . Обратите внимание, что установка расширения могла быть успешной, но эта ошибка скрывает фактическое состояние расширения.

    мы устранили эту ошибку для перезагрузок компьютера (версия 1.27.0.2 для расширения Windows и 1.21.0.1 расширения Linux), поэтому при перезагрузке в файл состояния ничего не добавляется. Если у вас возникла эта проблема с расширением до внесения исправления (то есть у вас возникла эта проблема с более ранними версиями расширения), и ваше расширение было упадтедо в версии с исправлением, проблема сохраняется. Это связано с тем, что при обновлении расширения новая версия расширения по-прежнему работает с предыдущим файлом состояния. В настоящее время эту проблему можно по-прежнему использовать, если вы используете более раннюю версию расширения с флагом, чтобы отключить автоматическое обновление номера версии, или если большой файл состояния был перенесен из более ранней версии ексенсион в более новые версии, содержащие исправление, или по любой другой причине. Если это так, вы можете устранить эту ошибку, выполнив удаление и повторную установку расширения. При удалении расширения очищается весь каталог расширения, поэтому для новой установки будет создан новый файл состояния. Необходимо установить последнюю версию расширения. Это решение является перманемт исправлением, и после этого вы не должны снова постолкнуться с этой проблемой.

  • Проблема с пользовательскими данными: Эта проблема не связана с расширением, но некоторые клиенты сообщали о том, что пользовательское расположение CustomData на виртуальной машине при переключении версий ОС. Мы рекомендуем следующее решение. Python 2 является устаревшим, поэтому мы сделали расширение для работы с Python 3. Если вы по-прежнему используете более ранние версии ОС, на которых не установлен Python 3, для запуска расширения необходимо либо установить на виртуальной машине Python 3, либо перейти к версиям ОС, на которых установлен Python 3 по умолчанию. на виртуальных машинах linux пользовательские данные копируются в файл для предыдущих версий агента Microsoft Azure linux, а также для /var/lib/waagent/CustomData новых версий агента Microsoft Azure linux. Кажется, клиенты, которые жестко запрограммированы только один из этих двух путей, сталкиваются с проблемами при переключении версий ОС, так как файл не существует в новой версии ОС, но имеется другой файл. Таким образом, чтобы избежать нарушения подготовки виртуальной машины, следует рассматривать оба файла в шаблоне, чтобы при сбое одна из них была успешно выполнена.

Дополнительные сведения о шаблонах ARM см. в разделе define Resources in Azure Resource Manager Templates.

Чтобы использовать шаблон, выполните следующие действия.

  1. на вкладке группы развертыванияAzure Pipelinesвыберите + создать , чтобы создать новую группу.

  2. Введите имя группы и, при необходимости, описание, а затем нажмите кнопку создать.

  3. на вкладке выпускиAzure Pipelinesсоздайте конвейер выпуска с этапом, содержащим задачу Шаблоны развертывания ARM .

  4. Укажите параметры, необходимые для задачи, такие как подписка Azure, имя группы ресурсов, расположение и сведения о шаблоне, а затем сохраните конвейер выпуска.

  5. Создайте выпуск из конвейера выпуска для установки агентов.

Установка агентов с помощью дополнительных параметров развертывания

  1. на вкладке группы развертыванияAzure Pipelinesвыберите + создать , чтобы создать новую группу.

  2. Введите имя группы и, при необходимости, описание, а затем нажмите кнопку создать.

  3. на вкладке выпускиAzure Pipelinesсоздайте конвейер выпуска с этапом, содержащим задачу Шаблоны развертывания ARM .

  4. Выберите задачу и разверните раздел Дополнительные параметры развертывания для виртуальных машин . Настройте параметры в этом разделе следующим образом:

    • Включить необходимые компоненты: выберите настроить с агентом группы развертывания.

    • Azure Pipelines конечная точка/тфс. выберите существующее подключение к службе Team Foundation Server/тфс, которое указывает на целевой объект. для регистрации агента для групп развертывания требуется доступ к Visual Studio проекту. Если у вас нет существующего подключения к службе, выберите Добавить и создайте его сейчас. Настройте его для использования личного маркера доступа (PAT) с областью действия, ограниченной для группы развертывания.

    • Project: укажите проект, содержащий группу развертывания.

    • Группа развертывания: укажите имя группы развертывания, в которой будут регистрироваться агенты.

    • Копировать теги виртуальных машин Azure в агенты: Если задано значение "(тактовая)", все теги, уже настроенные на виртуальной машине Azure, будут скопированы в соответствующий агент группы развертывания. По умолчанию все теги Azure копируются с использованием формата . Например, Role: Web.

  5. Укажите другие параметры, необходимые для задачи, такие как подписка Azure, имя группы ресурсов и расположение, а затем сохраните конвейер выпуска.

  6. Создайте выпуск из конвейера выпуска для установки агентов.

Справка и поддержка

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | Team Foundation Server 2018

Примечание

В Microsoft Team Foundation Server (TFS) 2018 и предыдущих версий конвейеры сборки и выпуска называются определениями, выполнения называются сборками, подключения к службам называются конечными точками служб, этапы называются средами, а задания называются этапами.

Группы развертывания упрощают определение логических групп целевых компьютеров для развертывания и устанавливают требуемый агент на каждом компьютере. В этом разделе объясняется, как создать группу развертывания, а также установить и подготавливать агент на каждом виртуальном или физическом компьютере в группе развертывания.

Агент можно установить одним из следующих способов:

Дополнительные сведения об агентах и конвейерах см. в следующих статьях:

Запустите сценарий установки на целевых серверах.