繁体   English   中英

如何在同一执行器上从 Jenkins 管道运行作业(声明性语法)

[英]How to run a job from a Jenkins Pipeline on the same executor (declarative syntax)

我想使用 Jenkins“PRQA”插件,它似乎没有从管道中使用它的选项。 该插件将运行 static 代码分析并发布结果。 就我而言,它需要在管道作业中已经完成的一些准备工作。 因此,我想将作业包含到该管道中,但在同一个执行器上,管道准备的数据作为某种内联作业步骤。

我试图为 PRQA-Plugin-Step 创建一个作业,并使用管道中的构建步骤执行它。 但这试图在一个新的执行者上开始工作(并且因为我只有一个执行者而停滞不前)。

pipeline {
   agent any
   stages {
      stage('Build') {
         steps {
            echo 'Prepare'
         }
      }
      stage('SCA') {
         steps {
           //Run this without using a new executor with the Environment that exists now
           build 'PRQA_Job'
         }
      }
   }
}

在与当前工作目录相同的执行程序上运行作业的正确方法是什么。

使用指定build 'PRQA_Job' ,不可能在同一个执行器上运行第二个作业(1 个作业 = 1 个执行器),因为主要作业只是在等待触发的作业完成。 但是您可以在具有多个执行程序的同一代理上运行另一个作业,以从主要作业访问工作区。

对于测试 porpose 在两个作业中指定代理名称: agent 'agent_name_here'

如果您想为不支持本机管道的插件使用插件功能,您可以尝试对 Jenkins 管道使用“步骤:常规构建步骤”功能。 您可以使用作业配置 windows 中链接的管道语法向导来生成所需的管道描述。

如果插件未显示在 Jenkins 的“步骤:常规构建步骤”部分中,您可以使用单独的作业。 要将所有需要的文件/数据复制到第二个作业中,您需要使用 Jenkins 的存档工件/复制工件功能来保存管道构建中的文件。

For more information on how to sue Archive Artifact/Copy Artifact see https://plugins.jenkins.io/copyartifact/ and https://www.jenkins.io/doc/pipeline/tour/tests-and-artifacts/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM