是否可以使用脚本或使用一些内置功能来获得 Jenkins 构建持续时间。我试过,${BUILD_DURATION}但没有用。

任何人都可以请建议吗?
我正在使用 Groovy 沙箱使用 Jenkins 管道。我正在尝试在 groovy sh 函数中运行 shell 脚本。
原来的shell脚本是
sed -i 's/sometext/'"${othertext}"'/' filename
Run Code Online (Sandbox Code Playgroud)
我正在尝试用其他文本(动态获取)替换特定文本。该脚本在直接执行时工作正常。但我想在 jenkins groovy sh 函数中使用它。
sh(script: '<above shell script>', returnStdout:false)
Run Code Online (Sandbox Code Playgroud)
但是存在转义字符的问题。我试过这种逃避性格的方式
sh (script: '''sed -i 's/sometext/othertext/' filename''', returnStdout:false)
Run Code Online (Sandbox Code Playgroud)
它工作正常,但othertext不是动态获取的。有人可以帮我用原始脚本转义字符吗?或者请建议任何其他方式来做到这一点。
我试图利用退出代码在job-> publishers-> postBuildScripts-> steps-> shell->高级选项中设置构建不稳定,以根据情况将构建不稳定。我有下面的脚本。
...
postBuildScripts {
onlyIfBuildSucceeds(false)
steps {
shell('echo "Before exit 1"\n' +
'if [ ! condition ]; then\n' +
'echo failed-condition\n' +
'exit 1\n' +
'fi'
)
}
}
...
Run Code Online (Sandbox Code Playgroud)
使用以上脚本exit 1,构建失败。但我想让它不稳定,我不要想用markBuildUnstable(true)。我只想根据某些退出代码将构建标记为不稳定。我可以将退出代码手动设置为1,如下所示
此后,将构建标记为不稳定。
我正在寻找脚本来通过脚本而不是手动设置此字段,因为我有很多工作。
有人可以在建议方面帮助我吗?
假设有一个变量key1,它的值是123
key1=123
Run Code Online (Sandbox Code Playgroud)
所以当我在linux环境中运行命令时echo $key1,我输出为123.
现在我有以下gulp任务.
const child_process = require('child_process');
....
gulp.task('printKeyValue', function() {
var value1 = child_process.execSync('echo $key1');
console.log(value1.toString().trim());
});
Run Code Online (Sandbox Code Playgroud)
在这里,我试图通过使用Child Process从nodejs访问linux变量的值
但是当我运行以下gulp任务时,我没有得到所需的输出.
npm run gulp -- printKeyValue
Run Code Online (Sandbox Code Playgroud)
相反,我得到输出,$key1而不是123.
见下面的截图
其他命令如ls&pwdgulp task中提供了所需的输出.
有人可以帮忙解决这个问题或提出另一种方法吗?
我有一个 gulp 任务getBuildNumber它使用子进程来执行脚本。
gulp.task('getBuildNumber', function() {
var buildNumber = child_process.execSync("echo $BUILD_NUMBER").toString().trim();
console.log(buildNumber);
});
Run Code Online (Sandbox Code Playgroud)
当我为 gulp 运行以下命令时
npm run gulp -- getBuildNumber
Run Code Online (Sandbox Code Playgroud)
我总是得到输出$BUILD_NUMBER而不是实际的 Jenkins 版本号。
有人可以建议如何继续吗?
jenkins ×4
gulp ×2
node.js ×2
angular ×1
groovy ×1
groovyshell ×1
javascript ×1
linux ×1
shell ×1