Разработчикам требуется непрерывная интеграция кода, хранящегося в репозитории GitHub или GitLab Enterprise. Служба Automation Pipelines позволяет отслеживать изменения кода в репозитории и запускать работу конвейера каждый раз, когда разработчики вносят и сохраняют изменения кода.
Чтобы служба Automation Pipelines запускала работу конвейера при каждом изменении кода, необходимо использовать триггер Git. Каждый раз, когда разработчик будет сохранять изменения кода, служба Automation Pipelines будет запускать конвейер.
Рабочая область конвейера Automation Pipelines поддерживает Docker и Kubernetes для выполнения задач непрерывной интеграции и настраиваемых задач.
Дополнительные сведения о настройке рабочей области см. в разделе Настройка рабочей области конвейера.
На следующей блок-схеме показан рабочий процесс, который можно использовать, если для создания конвейера используется смарт-шаблон или если конвейер создается вручную.
В следующем примере используется рабочая область Docker.
Для сборки кода используйте узел Docker. В качестве средств тестирования, которые будут выполнять модульные тесты и контролировать объем протестированного кода, используйте JUnit и JaCoCo. Их также требуется включить в конвейер.
Затем можно использовать смарт-шаблон конвейера непрерывной интеграции, который создает конвейер непрерывной интеграции, выполняющий сборку, тестирование и развертывание кода в кластере Kubernetes рабочей группы проекта, размещенном в службе AWS. Для хранения артефактов зависимостей кода для задачи непрерывной интеграции можно использовать кэш; это позволяет экономить время при сборке кода.
В задачу конвейера, выполняющую сборку и тестирование кода, можно добавить несколько шагов по непрерывной интеграции. Эти шаги могут размещаться в том же рабочем каталоге, где Automation Pipelines клонирует исходный код при запуске конвейера.
Чтобы выполнить развертывание кода в кластере Kubernetes, можно использовать задачу Kubernetes в конвейере. Затем необходимо включить и запустить конвейер. Затем внесите изменения в код, хранящийся в репозитории, и убедитесь, что это изменение запустило конвейер. На панелях управления можно отслеживать выполнение конвейера и составить отчет о тенденциях его работы после завершения выполнения.
В следующем примере для создания конвейера непрерывной интеграции, который непрерывно интегрирует код в конвейер, необходимо использовать соответствующий смарт-шаблон. В этом примере используется рабочая область Docker.
При необходимости конвейер можно создать вручную, самостоятельно добавив в него этапы и задачи. Дополнительные сведения о планировании сборок для обеспечения непрерывной интеграции и создании конвейера вручную см. в разделе Планирование собственной сборки по модели непрерывной интеграции и предоставления в Automation Pipelines перед добавлением задач вручную.
Необходимые условия
- Планирование сборок помогает добиться непрерывной интеграции. См. раздел Планирование собственной сборки по модели непрерывной интеграции в Automation Pipelines перед использованием смарт-шаблона конвейера.
- Убедитесь в наличии репозитория исходного кода GitLab. Для получения справки обратитесь к администратору Automation Pipelines.
- Добавьте конечную точку Git. См. пример в разделе Как использовать триггер Git в Automation Pipelines для запуска конвейера.
- Добавьте веб-перехватчик, чтобы служба Automation Pipelines могла выявлять изменения, вносимые в репозиторий GitHub или GitLab, и запускать работу конвейера в таких ситуациях. См. пример в разделе Как использовать триггер Git в Automation Pipelines для запуска конвейера.
- Добавьте конечную точку узла Docker, чтобы создать контейнер для задачи непрерывной интеграции. Этот контейнер может использоваться сразу для нескольких задач непрерывной интеграции. Дополнительные сведения о конечных точках см. в разделе Что такое конечные точки в Automation Pipelines.
- Получите URL-адрес образа, узел сборки и URL-адрес для образа сборки. Для получения справки обратитесь к администратору Automation Pipelines.
- Убедитесь, что для тестирования используются средства JUnit и JaCoCo.
- Настройте внешний экземпляр для сборки непрерывной интеграции: Jenkins, TFS или Bamboo. Подключаемый модуль Kubernetes выполняет развертывание кода. Для получения справки обратитесь к администратору Automation Pipelines.
Процедура
Результаты
Поздравляем! Завершено создание конвейера, который непрерывно интегрирует код из репозитория GitHub или GitLab и выполняет развертывание образа сборки.
Дальнейшие действия
Более подробные сведения см. в дополнительных ресурсах в разделе Начало работы с VMware Aria Automation.