我正在创建jenkins管道,在其中定义代理程序的阶段和步骤。在使用sh
的步骤中,它会引发错误:
错误:尝试在指定“无代理人”时执行需要节点上下文的步骤。使用“无代理”
时,请务必指定自己的“节点{...}”块
以下引发错误:
pipeline {
agent none
stages {
stage('Build2') {
steps {
sh 'echo "hello world" '
}
}
}
}
但是当我使用时:
pipeline {
agent none
stages {
stage('Build2') {
steps {
echo "hello world"
}
}
}
}
这很好
我使用其他命令使用sh
并得到相同的错误。
我不确定为什么调用sh
需要节点上下文。
答案 0 :(得分:0)
首先foreign_field
步骤和echo
步骤非常不同。
第二,为什么您要sh
然后在假定正在执行的计算机上运行特定操作系统的情况下运行?
其中一种解决方案是使用agent none
。
另一件事,这就是詹金斯文档中提到的agent any
:
在管道块的顶层应用时,不会为整个管道运行分配全局代理,并且每个阶段节都需要包含其自己的代理节。例如:agent none