jenkins - 如何在同一执行器上从 Jenkins 流水线运行作业(声明式语法)
问题描述
我想使用 Jenkins“PRQA”插件,它似乎没有从管道中使用它的选项。该插件将运行静态代码分析并发布结果。就我而言,它需要在管道作业中已经完成的一些准备工作。因此,我想将作业包含到该管道中,但在同一个执行器上,管道准备的数据作为某种内联作业步骤。
我试图为 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'
推荐阅读
- python - PyQt5 功能问题
- html - 页面调整大小时有很多空白
- javascript - 如何从 Google 日历上的一个事件创建连锁事件?
- sql - 为什么这个 pg 查询这么慢?我怎样才能让它更快?
- vuejs2 - 在 nuxt 布局中使用多个 v-app 时是否有任何问题
- asp.net-core - 从角度 7 传递到我的 Asp.net 核心 WebApi 控制器的参数全部为空
- postgresql - 表 oid 错误。在 postgresql 中选择查询,在 postgres 查询工具消息中返回 table_oid 并显示异常列不存在
- c# - XUnit CollectionFixture 多次实例化
- javascript - “检查后表达式已更改”的控制台错误
- mysql - MySQL 库存维护