【问题标题】:aws sam cli-colored output in jenkins consolejenkins 控制台中的 aws sam cli 彩色输出
【发布时间】:2020-06-03 16:42:27
【问题描述】:

0.33.1 版本开始,aws-sam-cli 支持彩色输出。我正在尝试从 Jenkins 管道运行 sam deploy 命令,但输出未以彩色格式显示。我已经安装了ANSIColor Jenkins plugin 并用ansiColor('xterm') {} 包装了sam deploy 命令。该命令按预期工作,并且正在创建 Cloudformation 堆栈。问题是输出不是彩色格式。

node {
stage('Example') {
    ansiColor('xterm') {
        sh "sam deploy --parameter-overrides ${someparameter} --template-file ${templatefile} --stack-name ${stackname} --capabilities CAPABILITY_NAMED_IAM  --no-fail-on-empty-changeset --no-execute-changeset"
   }
 }
}

为了验证我的 Jenkins,我在 Jenkins 中尝试了 test-sn-p,它显示了彩色输出。

ansiColor('xterm') {
    stage "\u001B[31mI'm Red\u001B[0m Now not"
}

所以 Jenkins 能够显示 ANSI 颜色,但 aws-sam-cli 输出不是彩色格式。

任何想法或建议都会有所帮助。

【问题讨论】:

    标签: jenkins-pipeline aws-sam aws-sam-cli ansi-colors


    【解决方案1】:

    aws-sam-cli 使用click 库来格式化其输出,包括颜色处理。

    clickdocumentation 解释了为什么您会看到您所看到的:

    从 Click 2.0 开始,echo() 函数获得了额外的收益 处理 ANSI 颜色和样式的功能。 [...]

    这主要意味着:

    • 如果流未连接到终端,Click 的 echo() 函数将自动去除 ANSI 颜色代码。

    这是大多数程序的典型行为,但是有些程序允许覆盖它,通常使用--color 参数。

    在你的情况下,我建议要求对clickissue tracker 进行增强。

    编辑:有already been one

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-15
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 2014-12-13
      • 2017-12-05
      • 2015-12-20
      相关资源
      最近更新 更多