Travis CI

Сайт: travis-ci.com

Travis CI — сервис непрерывной интеграции и непрерывной поставки программного обеспечения, предназначенный для автоматизации сборки, тестирования и развёртывания проектов. Изначально созданный для облегчения интеграции с хостингом исходного кода и системами управления версиями, сервис предоставляет инфраструктуру для запуска задач сборки на основе конфигурационных файлов, включая поддержку различных языков программирования и сред выполнения. Travis CI интегрируется с популярными платформами управления исходным кодом, позволяя запускать сборки при каждом коммите, открытии pull request или по расписанию.

Сервис реализует модель конфигурации через текстовый файл в корне репозитория, в котором описываются необходимые окружения, команды сборки и тестирования, а также параметры развёртывания. Travis CI поддерживает параллельное выполнение сборок, матрицы конфигураций для проверки на разных комбинациях версий интерпретаторов, компиляторов и операционных систем, а также механизмы кэширования зависимостей для сокращения времени выполнения. Исторически проект прошёл несколько этапов развития и коммерциализации, в результате чего доступные планы и архитектура сервиса эволюционировали, но основная цель осталась прежней — автоматизация проверки изменений в кодовой базе.

  • Интеграция с системами контроля версий: автоматический запуск сборок при событиях репозитория (push, pull request и пр.).
  • Конфигурация через файл: декларативный конфигурационный файл в корне проекта для описания окружения и шагов сборки.
  • Мульти-языковая поддержка: совместимость с множеством языков программирования и сред выполнения.
  • Матрица сборок: возможность запуска комбинаций версий интерпретаторов, фреймворков и платформ для покрытия множества сценариев.
  • Параллельное выполнение: одновременный запуск нескольких заданий для ускорения тестирования.
  • Кэширование зависимостей: ускорение повторных сборок за счёт сохранения артефактов и пакетов.
  • Виртуализованные среды: запуск сборок на изолированных средах с возможностью выбора ОС и архитектуры.
  • Логирование и отчётность: текстовые логи сборок, информация о статусе и причинах ошибок для отладки.
  • Триггеры и условия: настройка условий запуска и последовательностей задач, включая развертывание при успешной сборке.
  • Поддержка развёртывания: интеграция со служебными процессами развёртывания на внешние платформы и облака.
Подробнее