我正在开发一个声明性管道,其中除了bat命令中的两到三个参数外,我有多个相同的阶段。基本上每个阶段都在代理上运行相同的应用程序,只有传递给应用程序的参数发生变化。目前我有10多个相同的阶段,除了阶段中的2或3个单词。
我试图找到一种方法,基本上只写一次阶段,然后用不同的参数一遍又一遍地运行它。我打算尝试使用函数,但是,我读到它不可能从函数运行管道命令。因为我的阶段使用的是Bat命令,我不认为我可以使用函数。
我是被所有几乎相同的阶段卡住了,还是有更好的方法来处理它?
我的舞台的简化版本看起来像这样...
Stages
{
Stage ('First Stage')
{
steps {
script {
def programToRun = "\"${env.APPLICATION_PATH}\" /path:Output /file:FirstFile"
def errorLevel = bat(
returnStatus: true,
script: scripttoExecute
)
if (errorLevel == 0)
{
DoSomething()
}
}
}
}
Stage ('Nth Stage')
{
steps {
script {
def programToRun = "\"${env.APPLICATION_PATH}\" /path:Output /file:NthFile"
def errorLevel = bat(
returnStatus: true,
script: scripttoExecute
)
if (errorLevel == 0)
{
DoSomething()
}
}
}
}
}
1条答案
按热度按时间dohp0rv51#
您可以使用函数而不会出现问题。请检查下面的示例。