#jenkins #master-slave #multibranch-pipeline
#Дженкинс #ведущий-подчиненный #многоотраслевой конвейер
Вопрос:
Я настроил Jenkins с master
узлом, на котором работает Ubuntu, и slave
узлом. В настоящее время Jenkins используется для создания приложения для Android ( master
и slave
имеет разные ANDROID_SDK_ROOT
переменные среды).
Для slave
я настроил переменные среды, как показано ниже:
free style
Проект выполняется нормально, и подчиненное устройство может получить переменную среды. Проблема возникает, когда я запускаю задание многоотраслевого конвейера. Кажется, задание не может environment variable
получить ошибку always show:
SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at
В чем основная причина и как сделать так, чтобы многоотраслевой конвейер мог выбирать правильную переменную среды?
Обновлено: я обнаружил проблему, потому slave
что не могу переопределить значение переменной среды, заданное master
. Но я не знаю, как сделать так, чтобы подчиненный мог переопределять переменную среды, установленную мастером.
Комментарии:
1. Вы на 100% уверены, что ваш конвейер правильно нацелен на подчиненное устройство (и не запускается с главного устройства)?
2. Да, я вижу из вывода консоли, что задание выполняется с подчиненного устройства (для главного исполнителя установлено значение 0). Задание Freestyle выполняется нормально
3. на самом деле моя проблема в том, что подчиненный не может переопределить среду, заданную мастером
ANDROID_SDK_ROOT