问题描述
在使用Blue Ocean时,遇到了一个问题。他在一个最小的Jenkinsfile中使用了一个示例,但是发现日志中显示了他不希望显示的命令,并且希望将标签显示在命令的位置。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
如果你运行一个脚本,你必须指定输出的位置。你可以使用sh(returnStdout: true, script: "echo 'this should not be logged it is secret'")
来运行脚本,并将returnStdout
设置为true
,这样就不会显示任何内容了。
以下是一个示例代码:
node("master") {
stage("Test") {
sh(returnStdout: true, script: "echo 'this should not be logged it is secret'")
}
}
方案2
如果你想捕获输出,可以使用sh(returnStdout: false, script: "echo 'this should not be logged it is secret'")
。
以下是一个示例代码:
node("master") {
stage("Test") {
script {
def msg = sh(returnStdout: false, script: "echo 'this should not be logged it is secret'")
// 在这里可以对输出进行处理
}
}
}
方案3
label: "THIS SHOULD DISPLAY"
将在Jenkins网站上的”sup”步骤上显示一个标签。你看到的结果是预期的结果。
以下是一个示例代码:
node("master") {
stage("Test") {
script {
def msg = sh(
returnStdout: false,
label: "THIS SHOULD DISPLAY",
script: "set -e; echo 'this should not be logged it is secret'"
)
// 在这里可以对输出进行处理
}
}
}
综上所述,你可以根据你的需求选择适合的解决方案。
正文完