无法在詹金斯管道作业中重定向 terragrunt 输出
Cant redirect terragrunt output within a jenkins pipeline job
我有一个 jenkins 多分支管道,其中我 运行 terrag运行t 代码,为了清理输出日志我想重定向 terrag运行t 销毁输出到 txt 文件并存档。
本地一切正常,但在 jenkins 上 txt 文件是空的
我尝试过:
destroy > file.txt
destroy >> file.text
destroy 2>&1 >> file.txt
destroy >> file.txt 2>&1
destroy |& sed 's/\x1b\[[0-9;]*m//g' &>> file.txt
最后一个是同事推荐的,可能与颜色输出有关。
工作范围:
sh "touch file.txt"
locations.each {
dir(it){
sh 'terragrunt destroy 2>&1 >> file.txt'
}
}
不确定还能尝试什么,我看过的所有其他方法似乎也仍然输出到控制台,这违背了清理控制台输出以提高可读性的目标。
What's the difference of strings within single or double quotes in groovy?
所以这应该有效
sh '''
cd LOCATION
terragrunt destroy 2>&1 >> file.txt
'''
所以在多次尝试之后,我能够让它工作......有点
我必须为每个销毁命令创建一个 txt 文件,看起来重定向和追加不起作用
我有一个 jenkins 多分支管道,其中我 运行 terrag运行t 代码,为了清理输出日志我想重定向 terrag运行t 销毁输出到 txt 文件并存档。
本地一切正常,但在 jenkins 上 txt 文件是空的
我尝试过:
destroy > file.txt
destroy >> file.text
destroy 2>&1 >> file.txt
destroy >> file.txt 2>&1
destroy |& sed 's/\x1b\[[0-9;]*m//g' &>> file.txt
最后一个是同事推荐的,可能与颜色输出有关。
工作范围:
sh "touch file.txt"
locations.each {
dir(it){
sh 'terragrunt destroy 2>&1 >> file.txt'
}
}
不确定还能尝试什么,我看过的所有其他方法似乎也仍然输出到控制台,这违背了清理控制台输出以提高可读性的目标。
What's the difference of strings within single or double quotes in groovy?
所以这应该有效
sh '''
cd LOCATION
terragrunt destroy 2>&1 >> file.txt
'''
所以在多次尝试之后,我能够让它工作......有点
我必须为每个销毁命令创建一个 txt 文件,看起来重定向和追加不起作用