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

从jenkins的管道插件中的自定义位置选择JenkinsFile

马安邦
2023-03-14
问题内容

jenkins管道插件可以从自定义位置选择jenkinsfile并开始构建吗?

我不想将jenkinsfile保留在源代码中。如果源代码有任何更改。应从自定义位置选择jenkinsfile并开始构建。

示例:/ home / test / jenkinsfile


问题答案:

当然,只要用户有权读取该位置,就可以尝试放置自定义位置(我不知道为什么不能这样做)。

如果是多分支管道,则为no。由于索引基于a的存在Jenkinsfile(仅对包含的分支Jenkinsfile进行索引)

将构建逻辑包含在存储库中的想法是,它与源一起由源控制。当您更改源代码中的某些内容并影响构建时,构建特定的提交将具有所有逻辑。如果将其移出存储库,则构建逻辑和存储库很可能会不同步。

编辑 您可以通过添加Jenkinsfile将加载其他文件的方法来解决此问题

Jenkinsfile:

load "/home/test/Jenkinsfile"

但是据我所知,目录是相对于工作区的。因此,如果有dir("path/to/other/dir"){..}相对于该作业的工作空间运行的静态文件,则会使您的静态文件Jenkinsfile很容易读取。



 类似资料:
  • 当我们在“来自SCM的管道脚本”中定义Jenkinsfile位置时,我们定义了应用于SCM的Jenkinsfile位置和凭据。 但是在Jenkins文件中,我们实际上放置了相同的url和凭据ID。看起来像是代码重复。另一个问题是,我们不希望编辑Jenkins文件的用户放置任何凭据ID,而是使用在Jenkins作业步骤中定义的“SCM定义”下的凭据ID。 是否可以从作业中获取SCM位置和凭据ID?

  • 我正在JBoss上使用QueryDSL-JPA,希望在某一点上从一个不同的表中选择一个实体,而不是我通常使用并通过@table进行注释的表。我不想创建一个单独的Java类,因为最终,它应该返回给我与我正在使用的相同的类。

  • 我正在尝试创建一个定制的Jenkins管道,它将多个Jenkins作业生成的工件绑定在一起。每个作业都在不同的存储库上运行(基于它们自己的文件)。这些Jenkins文件的阶段完成了创建档案、编译代码等任务。 有人可能会说,我可以使用单个作业中的工件,然后将它们绑定在一起,但问题是这个高级管道将在特定的 ,因此它无法凭空创建存档。 由于我是詹金斯管道公司的新手,您对如何解决这个问题有什么建议吗? 最

  • 使装饰器包含具有name属性的管道元数据。 此值将用于在模板表达式中调用此管道。 它必须是有效的JavaScript标识符。 实现PipeTransform接口的transform方法。 此方法接受管道的值和任何类型的可变数量的参数,并返回一个变换的(“管道”)值。 import { Component } from '@angular/core'; selector: 'app-root',

  • 问题内容: 下面一些Groovy类中的方法由其他我不知道的其他管道脚本类调用。 所有的println语句已被logger.info取代。 log4j2-test.properties Jenkins作业控制台上的输出(下面仅显示相关部分): 我配置的记录器可能未调用 运行时实例为OutputEventListenerBackedLogger 即使我更改了logger语句,它们也不会反映在输出中,但