У меня есть jenkinsfile, который иногда должен запускаться на узле, а иногда на агенте докера, в зависимости от определенных параметров. Я бы хотел, чтобы конвейер jenkins динамически переключался между использованием объявления агента docker и более обычным объявлением агента. Единственное, чего мне не хватает, это как параметризировать объявление агента. Я пытаюсь начать просто с передачи объявления агента через переменную, так что у меня есть:
def agentDeclaration = {
docker {
label '...'
image "..."
args "..."
}
}
...
pipeline {
agent agentDeclaration
...
}
Но это не с ошибкой:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 117: Only "agent none", "agent any" or "agent {...}" are allowed. @ line 117, column 13.
agent agentDeclaration
^
WorkflowScript: 117: No agent type specified. Must be one of [any, docker, dockerfile, kubernetes, label, none] @ line 117, column 13.
agent agentDeclaration
Я вижу, что подобные вопросы задавались раньше здесь и здесь . Это возможно?