Какой CI/CD инструмент использовался на предыдущем проекте и почему?

«Какой CI/CD инструмент использовался на предыдущем проекте и почему?» — вопрос из категории DevOps, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

На проекте использовался Bitrise для iOS-приложений.

Причины выбора:

  • Готовая интеграция с GitHub
  • Оптимизированные шаги для iOS-сборок (поддержка CocoaPods, Swift Package Manager)
  • Встроенное кэширование зависимостей для ускорения сборок
  • Визуальный редактор конфигурации

Пример конфигурации Bitrise (bitrise.yml):

workflows:
  primary:
    steps:
      - git-clone@6
      - cache-pull@2
      - cocoapods-install@2
      - xcode-test@2:
          inputs:
            project_path: "Project.xcodeproj"
            scheme: "Project"
            simulator: "iPhone 15"
      - cache-push@2

Альтернативы: Для небольших проектов также использовали GitHub Actions из-за:

  • Конфигурации в репозитории (.github/workflows/)
  • Прозрачности и версионирования конфигов
  • Бесплатного тарифа для публичных репозиториев