Обычно выполнение плагина происходит на исполнителе сборки в подчиненном устройстве Jenkins.Но, чтобы проверить, какая часть кода плагина выполняется на главном / подчиненном устройстве, вы можете использовать следующее:
- Найдите переменную среды, специфичную для вашего ведомого устройства.Я использую
NODE_NAME
env var для этой цели.Вы можете узнать все доступные переменные окружения в вашем экземпляре Jenkins с помощью http://localhost:8080/env-vars.html (замените имя хоста, соответствующее вашему экземпляру).Там вы найдете NODE_NAME:
NODE_NAME
Имя агента, если сборка выполняется на агенте, или "master""если запустить на мастере
Записать / распечатать переменную среды.Ниже приведен фрагмент кода, который показывает, как его можно распечатать.Там я покажу пример использования метода setUp из hudson BuildWrapper для справки.
@Override
public Environment setUp(final AbstractBuild build, final Launcher launcher,
final BuildListener listener) throws IOException, InterruptedException {
String node = System.getenv("NODE_NAME");
String msg = "I'm executing on node: " + node;
listener.getLogger().println(msg); //prints to build log
logger.info(msg); // slf4j logger - prints to catalina log/jenkins log
}
Кроме того, вы также можете записать значение в файл и прочитать его оттуда.