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

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

Ответ

Основные инструменты:

  • Jenkins: Настройка пайплайнов с использованием Groovy DSL для сборки, тестирования и деплоя.
  • GitHub Actions: Автоматизация запуска тестов и проверок при создании Pull Request.
  • GitLab CI/CD: Конфигурация через .gitlab-ci.yml для простых пайплайнов.
  • TeamCity: Использование в legacy-проектах для управления сборками.

Пример Jenkins pipeline (Declarative Syntax) для запуска тестов:

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                sh 'npm run test'
            }
        }
        stage('Build') {
            steps {
                sh 'docker build -t my-app .'
            }
        }
    }
}

Практика: Интеграция с Docker для создания образов и Grafana для мониторинга статуса сборок. Основная цель — автоматизация регрессионного тестирования и деплоя на staging-окружения.