小编Sid*_*rth的帖子

如何让 Jenkins 构建工作持续时间

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

Jenkins UI 中显示的构建持续时间

任何人都可以请建议吗?

jenkins jenkins-plugins

6
推荐指数
1
解决办法
8360
查看次数

groovy + shell:转义字符

我正在使用 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不是动态获取的。有人可以帮我用原始脚本转义字符吗?或者请建议任何其他方式来做到这一点。

shell groovy groovyshell jenkins jenkins-pipeline

5
推荐指数
1
解决办法
6646
查看次数

退出代码以设置构建不稳定-Jenkins DSL脚本

我试图利用退出代码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)

执行上面的DSL脚本后,我在jenkins中得到如下信息 在此处输入图片说明

使用以上脚本exit 1,构建失败。但我想让它不稳定,我不要想用markBuildUnstable(true)。我只想根据某些退出代码将构建标记为不稳定。我可以将退出代码手动设置为1,如下所示 在此处输入图片说明 此后,将构建标记为不稳定。

我正在寻找脚本来通过脚本而不是手动设置此字段,因为我有很多工作。

有人可以在建议方面帮助我吗?

jenkins jenkins-plugins jenkins-job-dsl

5
推荐指数
1
解决办法
1279
查看次数

如何从Node.js访问shell变量值?

假设有一个变量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中提供了所需的输出.

有人可以帮忙解决这个问题或提出另一种方法吗?

linux node.js gulp

2
推荐指数
1
解决办法
874
查看次数

如何使用 GULP/NODE 在 JavaScript 中获取 Jenkins BUILD_NUMBER?

我有一个 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 版本号。

有人可以建议如何继续吗?

javascript node.js jenkins gulp angular

0
推荐指数
1
解决办法
1871
查看次数