Использую следующие инструменты:
- Системы сборки:
- Gradle: Основной инструмент для сборки, управления зависимостями и автоматизации задач.
- Maven: Реже, но также знаком.
- Системы контроля версий: Git (GitHub, GitLab, Bitbucket).
- Серверы CI/CD:
- Jenkins: Гибкий, расширяемый, широкий набор плагинов.
- GitLab CI/CD: Integrated solution, удобно для проектов на GitLab.
- GitHub Actions: Удобно для проектов на GitHub, простая настройка.
- TeamCity: Коммерческое решение от JetBrains, хорошая интеграция с Kotlin и инструментами JetBrains.
- Инструменты анализа кода:
- Ktlint: Форматирование кода по стандартам.
- Detekt: Статический анализ кода Kotlin.
- SonarQube: Комплексный анализ качества кода.
- Инструменты развертывания:
- Docker: Контейнеризация приложений.
- Kubernetes: Оркестрация контейнеров.
- Helm: Управление развертыванием Kubernetes-приложений.
- Репозитории артефактов:
- Nexus Repository Manager
- Artifactory
Пример пайплайна в GitLab CI/CD:
yaml