如何避免在 Jenkins 控制台输出上打印 curl 命令?

问题描述

我正在使用 Jenkins 声明式管道,例如:

...
stage('xxx'){
  steps{
    script{
      withCredentials([usernamePassword(credentialsId: 'Openshift_Credentials',passwordVariable: 'OPENSHIFT_PASSWORD',usernameVariable: 'OPENSHIFT_USERNAME')]) {
        def encoded = "${OPENSHIFT_USERNAME}:${OPENSHIFT_PASSWORD}".bytes.encodeBase64().toString()

        def data = sh returnStdout: true,script: "curl -k --form version=${XXX} --form env=${XXX} --form app=${XXX} -H \"Authorization: Basic ${encoded}\" \"SOME_API\""

        print data

}
...

现在,它工作正常,但我在 Jenkins 控制台输出的脚本中看到了 curl 命令:

[Pipeline] sh
14:13:04  + curl -k --form version=VALUE   --form env=VALUE   --form app=VALUE   -H Authorization: Basic ENCODED_VALUE SOME_API
14:13:04    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
14:13:04                                   Dload  Upload   Total   Spent    Left  Speed
14:13:08  
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   340    0     0  100   340      0    250  0:00:01  0:00:01 --:--:--   251

有没有办法避免在控制台上打印 curl 命令? (我不想在控制台上显示该编码值)

我知道可以在 Shell 脚本中为此使用 set +x,但我不想使用 sh ''' 块

在我的例子中我该怎么做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)