Ответ
Работал с широким спектром инструментов на всех этапах жизненного цикла разработки (SDLC).
Системы контроля версий (VCS) & Хостинг кода
- Git — основная VCS.
# Основные команды рабочего процесса git clone <repo-url> # Клонирование репозитория git checkout -b feature/123 # Создание ветки для задачи git add . # Добавление изменений в индекс git commit -m "feat: add order endpoint" git push origin feature/123 # Отправка ветки на сервер git merge main # Слияние с основной веткой git rebase -i main # Интерактивный rebase для чистоты истории - GitHub / GitLab / Bitbucket — использовались как платформы для хостинга кода, код-ревью (MR/PR) и CI/CD.
Сборка и управление зависимостями
- Maven — для Java-проектов.
mvn clean compile # Очистка и компиляция mvn test # Запуск юнит-тестов mvn package # Сборка JAR/WAR-пакета mvn deploy # Развертывание в артефакт-репозиторий (Nexus) - Gradle — для проектов, требующих большей гибкости.
gradle build gradle test
Контейнеризация и оркестрация
- Docker — создание и управление контейнерами.
docker build -t my-app:latest . # Сборка образа docker run -p 8080:8080 my-app # Запуск контейнера docker-compose up -d # Запуск многоконтейнерного приложения - Kubernetes (k8s) — оркестрация контейнеров в продакшене.
kubectl apply -f deployment.yaml # Развертывание приложения kubectl get pods # Просмотр состояния подов kubectl logs <pod-name> # Просмотр логов kubectl describe pod <pod-name> # Детальная информация о поде
Непрерывная интеграция и доставка (CI/CD)
- Jenkins — настройка пайплайнов как в скриптовом (Scripted Pipeline), так и в декларативном стиле.
// Декларативный Jenkins Pipeline pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean package' } } stage('Test') { steps { sh 'mvn test' } post { always { junit 'target/surefire-reports/*.xml' // Публикация отчетов } } } stage('Deploy to Staging') { steps { sh './deploy.sh staging' } } } } - GitHub Actions / GitLab CI — использовал для более простых проектов, где CI/CD был описан в виде YAML-файла в репозитории.
Мониторинг и логирование
- Prometheus — сбор метрик (например, количество HTTP-запросов, время ответа).
- Grafana — визуализация метрик из Prometheus в дашбордах.
- ELK Stack (Elasticsearch, Logstash, Kibana) / Loki — агрегация и анализ логов.