如何在詹金斯时髦中使用fmt_case?



我正在尝试在 Groovy Sandbox 的 Jenkins 管道中使用以下命令。

descr -fmt "%[rec_bls]CXp" stream:stream_name@my_vob  

虽然如果从 windows cmd 执行,该命令可以正常运行,但在 Jenkins 阶段执行时会抛出以下错误。

Running batch script    
path_to_workspace>cleartool describe -fmt 'stream_name@my_vob
cleartool: Error: Object selector required.
Usage: describe -graphical pname …
...
…

下面是 Jenkins 阶段片段:

stage ('Test') {            
agent {label 'Jenkins_Label'}           
steps{          
bat """             
cleartool describe -fmt "%[rec_bls]CXp" stream:stream_name@\vob_name
"""            
}
}

首先检查这是否是因为-fmt "%[rec_bls]CXp",其引号在 Jenkins 蝙蝠壳会话中被错误地解释。

例如:

stage ('Test') {            
agent {label 'Jenkins_Label'}           
steps{          
bat """             
cleartool describe -l stream:stream_name@\vob_name
"""            
}
}

如果可行,请尝试查看如何添加这些引号。
例如:

cleartool describe -fmt """%[rec_bls]CXp""" stream:stream_name@\vob_name
# or
cleartool describe -fmt "%[rec_bls]CXp" stream:stream_name@\vob_name

如果问题出在"%",请转义它:

cleartool describe -fmt "%%[rec_bls]CXp" stream:stream_name@\vob_name

这将防止蝙蝠会话将其解释为可变环境。

我找到了解决方案。使用 %% 可以解决问题!

cleartool describe -fmt "%%[rec_bls]CXp" stream:stream_name@\vob_name

相关内容

  • 没有找到相关文章

最新更新