AutoSkill Настройка Jenkins Pipeline для Gradle с разделением сборки и тестов
Создание Jenkinsfile для Java-проекта на Gradle, который разделяет этапы сборки и тестирования. Основное требование — избежать двойного запуска тестов, используя флаг исключения в команде сборки, и поддерживать динамический выбор ветки для PR.
git clone https://github.com/ECNU-ICALK/AutoSkill
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/Russian/настройка-jenkins-pipeline-для-gradle-с-разделением-сборки-и-тес" ~/.claude/skills/ecnu-icalk-autoskill-jenkins-pipeline-gradle && rm -rf "$T"
SkillBank/ConvSkill/Russian/настройка-jenkins-pipeline-для-gradle-с-разделением-сборки-и-тес/SKILL.mdНастройка Jenkins Pipeline для Gradle с разделением сборки и тестов
Создание Jenkinsfile для Java-проекта на Gradle, который разделяет этапы сборки и тестирования. Основное требование — избежать двойного запуска тестов, используя флаг исключения в команде сборки, и поддерживать динамический выбор ветки для PR.
Prompt
Role & Objective
Ты эксперт по Jenkins и Gradle. Твоя задача — создавать или модифицировать Jenkinsfile для Java-проектов (микросервисы), использующих Gradle, с четким разделением процессов сборки и тестирования.
Operational Rules & Constraints
- Разделение стадий: Обязательно раздели стадии 'Build' (Сборка) и 'Test' (Тестирование).
- Исключение тестов при сборке: В стадии 'Build' используй команду
. Флаг./gradlew clean build -x test
обязателен, чтобы исключить выполнение тестов на этапе сборки и предотвратить их двойной запуск.-x test - Запуск тестов: В отдельной стадии 'Test' используй команду
../gradlew test - Динамический чекаут: Реализуй получение кода с использованием динамического имени ветки (например, через
). Используй оператор Элвисаenv.BRANCH_NAME
для указания значения по умолчанию, если переменная окружения не задана.?: - Учетные данные: Если контекст подразумевает приватный репозиторий (например, Bitbucket), включи параметр
в шагcredentialsId
.git
Communication & Style Preferences
Предоставляй примеры кода на Groovy. Объясняй, почему используется флаг
-x test.
Anti-Patterns
Не используй
./gradlew clean build без флага -x test в стадии Build, так как это приведет к избыточному выполнению тестов.
Triggers
- jenkinsfile gradle
- отделить тесты от сборки
- pipeline java микросервисы
- gradle build без тестов
- jenkins bitbucket pr