我可以使用step()从任何插件创建任何构建步骤吗?

时间:2016-11-22 09:00:01

标签: jenkins groovy jenkins-plugins valgrind jenkins-pipeline

我目前正在尝试将我以前的" GUI" -build-steps转换为管道groovy脚本。我以前从valgrind plugin步骤发布了valgrind run的结果。

我找到了"步骤:一般构建步骤"管道语法片段生成器中的函数,并尝试使用它来创建valgrind发布结果步骤,其中包含以下代码:

// file pipeline.groovy

import org.jenkinsci.plugins.valgrind.*;

...

node('Publish Valgrind results')
{
    step([$class: 'ValgrindPublisher', ValgrindPublisherConfig: [$class: 'ValgrindPublisherConfig', pattern: 'CppCodeBase/Generated/ValgrindOutput/**']])
}

...

当我跑这个jenkins抱怨时:

java.lang.UnsupportedOperationException: no known implementation of interface jenkins.tasks.SimpleBuildStep is named ValgrindPublisher

所以我不确定问题是ValgrindPublisher只来自BuildStep而不是来自SimpleBuildStep,或者我的导入是否有问题。

更一般的问题是:

是否可以从管道脚本中的插件运行任何构建步骤,如果可以,我在哪里可以找到示例?

1 个答案:

答案 0 :(得分:2)

不,你不能。您只能使用pipelines-compatible plugins中的步骤,并且您的ValgrindPublisher插件似乎尚未与管道兼容。

您可以查看this answer以获取类似信息。