Я пытаюсь настроить свой первый Android-проект на Jenkins.
Я запускаю Jenkins 1.6.2 с версией 1.24 плагина Gradle. Работает на Windows 7 Professional SP1.
Я установил Android Studio и Java7 JDK на свою машину сборки, а исправленная версия программного обеспечения просто отлично работает через Android Studio или при запуске gradlew.bat из командной строки. Но я не могу заставить задачу сборки Invoke Gradle script работать в моей работе Jenkins.
На странице проекта конфигурации есть пара переключателей:
- Вызов Gradle
- Использовать Gradle Wrapper
Если я выберем "Invoke Gradle", меня попросят выбрать "Gradle Version", который я настраиваю в Configure System.
Я создал установку Gradle с параметром GRADLE_HOME, установленным в "D:\Program Files\Android Studio\gradle\gradle-2.2.1". Это дает мне предупреждение, что "D:\Program Files\Android Studio\gradle\gradle-2.2.1 не является каталогом мастера Jenkins...."
И когда я запускаю сборку, я получаю сообщение об ошибке "Не удается получить исполняемый файл Gradle".
Скорее всего, это связано с плагином Gradle, жалующимся на каталог. Но каталог правильный. Я попробовал это с помощью '/' вместо '\', и это не имело значения.
Поскольку это не сработало, я попробовал альтернативу: "Использовать Gradle Wrapper". Там флажок: "От Root Build script Dir". Я проверяю это или нет, я получаю "java.lang.IllegalArgumentException: android.compileSdkVersion отсутствует!"
Я установил JAVA_HOME и ANDROID_HOME, так что не проблема.
Любые идеи?
В качестве последующего действия я удаляю задачу Gradle и добавляю задачу командной строки Execute Windows:
SET ANDROID_HOME=d:\Program Files\Android\sdk
SET JAVA_HOME=d:\Program Files\Java\jdk1.7.0_79
.\gradlew.bat clean
Когда я запустил это, я все равно получаю эту ошибку.
Но когда я запускаю эти команды из командной строки на машине сборки, они работают нормально.
Что может быть другим при запуске gradlew.bat от Jenkins, чем при запуске из командной строки? Служба Jenkins настроена на использование того же пользователя, с которым я вошел в систему, когда я запускаюсь из командной строки. Я попытался явно установить каждую переменную среды, которую я установил в командной строке, в задаче Jenkins, и я все еще вижу ошибку.
Любые идеи?