Что такое агент сборки в Azure DevOps или Team City?

Я новичок в области CD / CI, и мне нужно реализовать его в старом проекте моей компании. Из того, что я прочитал, у нас есть несколько вариантов, таких как Azure DevOps или Team City, я выбрал эти два варианта, потому что большинство наших проектов построено на технологиях Microsoft.

Я читал некоторое время, но не могу понять правильного определения Build Agent; также я нашел этот старый вопрос, но ответ неясен:

Что такое агент сборки и контроллер на сервере Team Foundation? < / а>

Далее читал разную документацию:

И их определения следующие:

Агент - это устанавливаемое программное обеспечение, которое выполняет одно задание за раз. Microsoft

Агент сборки TeamCity - это часть программного обеспечения, которое прослушивает команды с сервера TeamCity и запускает фактические процессы сборки. JetBrains

Однако я не могу точно понять их роль или цель, создают ли они Test, UAT и Производство конвейеров параллельно, чтобы убедиться, что компиляция прошла успешно? Как здесь:

предварительный просмотр

Или что они делают? Поскольку в решении есть несколько проектов внутри, может быть, 8 или 10.

Вы можете взять пример, который я привел в комментариях ниже:

Предположим, вы создали проект в Azure DevOps для своей новой CRM для стоматолога со средами отладки, UAT и Release, а также командой из 5 разработчиков. Что бы представляли эти агенты?

Спасибо за любые объяснения.


person Federico Navarrete    schedule 25.07.2019    source источник


Ответы (2)


Это аналог человека-«агента», который имеет другие навыки. Думайте о Build Agent как о компьютерном процессе, который имеет определенные возможности для выполнения сборки.

Некоторые агенты могут выполнять определенные задачи (например, создавать специальные программы Apple), в то время как другие агенты более общего назначения. Иногда на компьютере может быть несколько агентов, которые могут работать параллельно, в других случаях компьютерам назначен только один агент.

Изменить - для ответа на дополнительные вопросы добавлено следующее: Агенты могут быть «локальными», что означает, что они находятся на сервере, на котором установлено программное обеспечение для сборки (например, Azure Pipelines, Bamboo, Team City). Они также могут быть «удаленными» или на другом компьютере. Для создания специального программного обеспечения Apple может потребоваться удаленный агент, поскольку для компиляции этого программного обеспечения часто требуется Mac.

Расширяя "агента" человека с помощью аналогии с различными навыками, агентам могут быть назначены рабочие места. Таким образом, одному агенту может быть назначено программное обеспечение для сборки в вашем конвейере, в то время как другой агент занят развертыванием в различных средах. Поскольку каждый «агент» может выполнять только одно задание за раз, большее количество агентов могут ускорить конвейеры сборки, разрешив параллельные задания.

person Wesley Rolnick    schedule 25.07.2019
comment
Привет, не могли бы вы привести мне несколько реальных примеров? Предположим, вы создали проект в Azure DevOps для своей новой CRM для стоматолога со средами отладки, UAT и Release, а также командой из 5 разработчиков. Что бы представляли эти агенты? - person Federico Navarrete; 25.07.2019
comment
Мне нужен только агент. Агент будет собирать, а затем развертывать в разных средах. Агент - это компьютерный процесс, который Azure выделяет для сборки и последующего развертывания. - person Wesley Rolnick; 25.07.2019
comment
Кроме того, какие еще агенты я мог бы использовать? Я читал, что, например, в Team City есть возможность получить 3 бесплатных агента. Если один предназначен для строительства, есть ли другой агент? - person Federico Navarrete; 25.07.2019
comment
Отредактированный ответ, чтобы ответить на ваши вопросы в комментариях. - person Wesley Rolnick; 25.07.2019

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

Как правило, агент / агент сборки - это размещенная машина с необходимыми возможностями (в случае Azure DevOps), используемая для выполнения предопределенных задач в соответствии с настройкой конвейера сборки, чтобы собрать исходный код и сделать его доступным для развертывания.

person Elancheziyan G    schedule 25.07.2019