Jenkins 在声明性文件中动态加载代理
我想知道是否可以动态配置全局代理 我需要在Kubernetes或VM上运行的不同Jenkins环境中运行我的管道 当我必须在VMs中运行管道时,我需要使用Jenkins 在声明性文件中动态加载代理,jenkins,jenkins-pipeline,jenkins-groovy,jenkins-declarative-pipeline,jenkins-kubernetes,Jenkins,Jenkins Pipeline,Jenkins Groovy,Jenkins Declarative Pipeline,Jenkins Kubernetes,我想知道是否可以动态配置全局代理 我需要在Kubernetes或VM上运行的不同Jenkins环境中运行我的管道 当我必须在VMs中运行管道时,我需要使用docker代理,而它在Kubernetes上运行时,我需要使用Kubernetes代理 我试图引用代理并使用此引用,但无效 我尝试过的一些例子: def myAgent={ 返回{ 库伯内特斯{ 集装箱模板{ 名称“maven容器” 图片“maven:3.0.6” 这是真的 命令“猫” } defaultContainer“maven容器”
docker
代理,而它在Kubernetes上运行时,我需要使用Kubernetes
代理
我试图引用代理并使用此引用,但无效
我尝试过的一些例子:
def myAgent={
返回{
库伯内特斯{
集装箱模板{
名称“maven容器”
图片“maven:3.0.6”
这是真的
命令“猫”
}
defaultContainer“maven容器”
}
}
}
管道{
代理myAgent()
//...
}
/////////////////
库贝={
集装箱模板{
名称“maven容器”
图片“maven:3.0.6”
这是真的
命令“猫”
}
defaultContainer“maven容器”
}
管道{
代理人{
库伯内特斯库贝酒店
}
}
问题在于代理值是在管道开始运行之前评估的,而不是在阶段即将运行时评估的。这有点违反直觉,但我们到了
您可以通过在声明性之前运行脚本管道来“欺骗系统”,如中所述