0

我有一个运行 terragrunt 代码的 jenkins 多分支管道,为了清理输出日志,我想将 terragrunt destroy 输出重定向到 txt 文件并将其存档。

本地一切都按预期工作,但在詹金斯上,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'
 }
}

不知道还能尝试什么,我查看的所有其他方法似乎也仍然输出到控制台,这违背了清理控制台输出以提高可读性的目标。

4

2 回答 2

0

groovy中单引号或双引号内的字符串有什么区别?

所以这应该有效

sh '''
  cd LOCATION
  terragrunt destroy 2>&1 >> file.txt
'''
于 2019-07-23T10:50:19.103 回答
0

因此,经过大量试验后,我能够让它工作......有点

我必须为每个销毁 cmd 创建一个 txt 文件,看起来重定向和附加不起作用

于 2019-07-23T19:00:31.800 回答