В CI/CD для автоматизации тестирования, развертывания и других процессов разработки принято использовать узко-специальные инструменты, которые покрывают полный жизненный цикл разработки SDLC (Software Development Life Cycle). Их количество постоянно возрастает, появляются новые. Мы же расскажем о наиболее популярных и хорошо зарекомендовавших себя инструментах CI/CD, которые успешно применяют и наши инженеры, грамотно подбирая под каждый проект.
GitLab DevOps‑платформа для управления репозиториями (хранилищами) проекта. Позволяет вести историю тестирования и изменений, мониторинг ошибок. Для описания CI/CD-процессов используется YAML.
GitHub Actions CI/CD-платформа для тех, кто использует GitHub — веб-сервис для совместной разработки и хостинга IT-проектов. Тоже использует YAML.
Docker Система непрерывной доставки и развертывания (CD), позволяющая контейнеризировать проект. Для управления (оркестрации) кластерами микросервисного проекта можно использовать Kubernetes.
Travis-CI Cloud-сервис непрерывной интеграции. Легко интегрируемый с GitHub при минимуме настроек, не требует установки.
Jenkins Один из самых востребованных DevOps- и CI/CD-инструмент, работающий с огромным количеством плагинов, что обеспечивает гибкость процессов разработки и адаптации под задачи проектов. Для описания CI/СD-процессов использует Groovy, имеет собственный DSL в Jenkinsfile.
PHP Censor CI-сервер для автоматизации сборки проектов, написанных на PHP. Работает с библиотеками для тестирования PHP Spec, Atoum и Behat, а также с разными репозиториями, включая GitLab. Требует хостинг и настройку.
Cycle Analytics Review Apps Buddy Популярный из-за простоты и надежности инструмент для полноценной разработки с использованием кода с GitHub, GitLab и Bitbucket.
Bamboo CI Инструмент для одновременной сборки, тестирования и развертывания нескольких проектов с анализом ошибок. Поддерживает импорт из Jenkins и совместим с Selenium, JUnit и PHPUnit.
Circle CI Платформа для комплексного развертывания с автоматизацией тестирования и сборки кода. Поддерживает различные системы контроля версий, механизмы поставки, облачные сервисы и контейнерные системы.
CodeShip Среда для развертывания кода из GitHub и Bitbucket напрямую. Совместима с разными языками и технологиями.
TeamCity Работает с агентами сборки (в бесплатной версии их количество ограничено тремя). Если подписаться — будет техподдержка.
Rex Автоматизирует CI-процессы в дата-центрах. Работает на Perl-скриптах.
Open Build Service (OBS)
Автоматизирует CI/CD-процессы при разработке дистрибутивов приложений.
Buildbot Автоматизирует тестирование и сборку, которую к тому же гибко настраивает через помощью Python-компоненты. Поддерживает различные VCS.