【问题标题】:How to use RTC plugin from jenkins pipeline groovy script?如何使用 jenkins 管道 groovy 脚本中的 RTC 插件?
【发布时间】:2016-05-11 16:11:17
【问题描述】:

我知道我可以通过 Jenkins RTC 插件使用 scm 轮询,我只是想知道是否有一个示例说明如何通过管道插件的 groovy 脚本执行此操作?

例如:

node{
   stage 'Checkout'
   git url: 'https://github.com/whatever/myrepo.git'
 ...
 }

类似上面的东西,但不是 git,而是使用带有 prod url 的 rtc 工具包并指定一个流或工作区......在任何地方都找不到示例,并且不确定如何通过 api 实现它(或者如果这甚至可能?)

【问题讨论】:

    标签: jenkins groovy rtc jenkins-pipeline


    【解决方案1】:

    实际上 sn-p 生成器有点误导,因为它不会生成您需要的所有内容。例如,根据生成的内容,我在管道中使用了这个:

    node {
        teamconcert([buildDefinition: 'TestStream', value: 'buildDefinition'])
    }
    

    如果你按原样使用它,你会得到这个异常:

    RTC : checkout...
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    java.lang.NullPointerException
        at com.ibm.team.build.internal.hjplugin.RTCScm.checkout(RTCScm.java:1948)
        atorg.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:109)
        at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:83)
        at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:73)
        at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52)
        at hudson.security.ACL.impersonate(ACL.java:221)
        at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    

    你需要的语法是这样的:

    node {
        teamconcert([
            buildType: [
                buildDefinition: 'TestStream',
                value: 'buildDefinition'
           ]
        ])
    }
    

    Team Concert 期望将事物包装在“buildType”中。我在 jazz.net 上的论坛答案中找到了这个,在其他任何地方都没有看到它的记录。

    【讨论】:

      【解决方案2】:

      管道插件中有一个 sn-p 代码生成器,我花了一段时间才找到它,但它会为任何 Jenkins 任务生成 groovy 代码... Rtc 列在 teamconcert:Team Concert 下,只是向下滚动到底部并勾选 Snippet Generator 复选框!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-06-22
        • 1970-01-01
        • 2018-05-14
        • 1970-01-01
        • 2017-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多