当前位置: 首页 > 面试题库 >

管道参数和jenkins GUI参数如何协同工作?

长孙知
2023-03-14
问题内容

我在jenkinsfile中使用管道,但不确定如何在Jenkins和管道中正确链接作业。

我在jenkinsfile中定义了参数(有些具有默认值,有些 没有 ),并使用来自jenkins
gui的参数进行初始化。问题是,它接缝了管道中的参数以覆盖我的作业参数, 即使在 管道中 未指定默认值时也是如此,
这意味着管道正在覆盖jenkins中的作业设置。

例如,我的一项工作是设置为使用一些特定值(均为NON-EMPTY)运行管道,如果触发该任务,管道似乎会将字段b和c的属性重置为”。

我如何获得不碰我詹金斯职位定义的渠道?

例如管道中的参数:

    properties([
      parameters([
        string(name: 'a',   defaultValue: 'Default A value', description: '', ),
        string(name: 'b',   description: '', ),
        string(name: 'c',   description: '', ),
       ])
])

我在https://jenkins.io/doc/book/pipeline/syntax/#parameters-
example的文档中找不到任何帮助


问题答案:

啊,是的,这也是我第一次来。

第一次运行管道时,jenkinsFile DSL作业定义几乎会覆盖您通过GUI输入的整个作业定义。这尤其会影响参数。

因此,请确保在Jenkinsfile中完全按照所需的方式定义参数,然后运行一次作业,并且GUI将具有相同的参数配置,以便再次运行时,它将要求输入参数并使用您在DSL中指定的默认值。没什么了。

是的,每次修改DSL中的参数都必须运行两次,这很烦人。但是如果您认为必须执行要评估的DSL作业就很有意义,但是首先需要通过UI定义参数来询问参数,然后再检查并评估DSL



 类似资料:
  • 我有一个管道脚本,如下所示: ${build_type}可以是“发布”或“调试”。 当我的构建收到触发器时,我希望我的管道为${build_type}中的每个参数运行一次,然后向我发送一封电子邮件,其中包含有关两个构建的报告。 我怎样才能做到这一点? 我试图在编译阶段内定义一个并行块,并在那里设置build_type,但这并不能使其他阶段并行运行。

  • 问题内容: 给定Date有一个名为“ after(Date)”的方法,而Timestamp有一个名为“ after(Timestamp)”的方法,为什么在以下代码中调用Date中的 after 方法? 至于意外结果有人问在这里。 结果 问题答案: 重载是在编译时考虑的;覆盖在执行时考虑。 时间戳 重载 ,它不会 覆盖 现有方法- 因此您只考虑了中的方法; 而且即使你使用它会 仍然 只使用因为编译时

  • 问题内容: 我需要搜索某个进程并杀死该进程。我写了这样的命令: 进程名称为。但这是行不通的。我如何才能按名称及其名称查找流程。 问题答案:

  • 我们在Jenkins系统中大量使用管道作业,需要能够使用复制工件的作业参数来参数化步骤。 首先,我发现当参数返回一个

  • servlet 的请求参数以字符串的形式作为请求的一部分从客户端发送到 servlet 容器。当请求是一个 HttpServletRequest 对象,且符合“参数可用时”描述的条件时,容器从 URI 查询字符串和 POST 数据中填充参数。参数以一系列的名-值对(name-value)的形式保存。任何给定的参数的名称可存在多个参数值。ServletRequest 接口的下列方法可访问这些参数:

  • 问题内容: 我在詹金斯(Jenkins)有一份工作,有2个参数。我要运行另一个没有参数的计划,并从该计划中启动所需的现有计划多次。 新计划需要安排为每15分钟运行一次(将由Jenkins的Scheduler选项完成),该计划的代码将: 连接到数据库 获取所需的记录集 开始循环记录集 存储键/值对(现有作业的参数) 结束循环 完成此操作后,我需要对存储的每个键/值对运行现有作业。我可以使用Jenki