当前位置: 首页 > 知识库问答 >
问题:

如何为Jenkins多分支管道项目中的作业设置作业属性?

宰父智敏
2023-03-14

是否有人知道从文件中设置作业属性(特别是构建触发器)的正确方法?(多分支管道作业中的声明性管道脚本)。

为了清晰起见,我需要为多分支项目中的底层作业设置特定的构建触发器。我可以在GUI中配置总体多分支项目的触发器。

尝试过这里列出的方法:Jenkins多分支管道和指定上游项目

詹金斯:在上游更改时触发多分支管道

如何使用Jenkins管道属性步骤?

从v0开始,我就听到这样的错误。8我应该使用选项步骤:https://jenkins.io/doc/book/pipeline/syntax/#declarative-管道

但我看不到有任何步骤可以在options指令中设置构建触发器。

有一个配置文件。xml在服务器上的每个分支作业文件夹中,但我认为当我再次运行作业时,这些文件夹将被覆盖,因为它们位于多分支作业下。

还有一个选项可以将不同的属性传递到不同的分支(为分支设置异常),但我看到的唯一选项是禁止SCM提交。

我的总体目标是尝试制作一个单一的Jenkinsfile,动态地允许多分支项目中的所有底层作业由其依赖的上游构建触发。

步骤1:找出如何设置属性:)

步骤2:使用上游依赖属性动态填充每个构建,这意味着当某些构建完成时,它们将启动。

问题只涉及到第一步,第二步正是我想要达到的。

共有1个答案

武睿
2023-03-14

步骤1:有很多属性可以定义。下面列出了您特别需要的产品:

options{timestamps()}  --> Adds timestamp to console output
triggers{pollSCM('H/15 * * * *')} --> Polling SCM 
triggers{cron('H/15 * * * *')} --> Trigger build every 15 minutes. Similarly you can set the build trigger to any specific time to build it periodically.

此外,您可以使用管道语法中的属性选项找到所有可以定义的属性,这些属性在每个作业中都可用。请导航到PIpeline语法(在任何作业中)-

示例声明性管道可以如下所示:

#!groovy
pipeline{
agent any
options{timestamps()}
triggers{pollSCM('H/15 * * * *')}
parameters{
 ..........
}
environment{
............
}
stages{
stage{
steps{
..............
}
}
}
post{
always{
build job: '/foldername/job1', parameters: [string(name: 'parameter1', value: "${params.parameter1}")] , propagate: false
}
}
}

步骤2:您可以使用“构建”命令从詹金斯文件中触发另一个项目。请参阅上面的帖子部分,以触发相同的参数。

如果您需要更多信息,请告诉我。

 类似资料:
  • 现在多分支管道作业类型已经成熟,还有什么理由再使用简单的管道作业类型吗?即使您现在只有一个分支,考虑到未来多个分支的可能性可能是明智的,那么假设您将Jenkins管道存储在SCM中,那么为您的Jenkins管道使用管道作业类型与始终使用多分支管道作业类型的动机是什么?现在这两种作业类型之间是否存在功能平价?

  • 是否有可能通过一个作业DSL创建多分支管道作业,该作业通过“管道脚本”而不是每个Git存储库包含的Jenkinsfile来定义作业? 我们希望避免在100个Git存储库中生成和维护相同的Jenkins文件(除了一些参数)。 目前,我们正在使用管道作业和工厂作业播种的作业DSL,但目前我们在多分支构建(功能分支)方面受到限制。因此,我们希望切换到多分支管道作业,但在播种方面我们受到了限制。 我知道我

  • null null 我怎样才能想象这些工作类型之间的关系?还有其他插件支持这些类型吗?

  • 我有一个名为multibranch test的github repo,它有两个子目录Project1和Project2。 PS C:\Repos\multi-branch测试 每个子目录都有一个Jenkinsfile和该项目的代码。 在Jenkins中,我有两个多分支管道作业——一个用于Project1,一个用于Project2。在Project1的配置中,如果在Project2的子目录中推送了提

  • 问题内容: 我正在尝试让詹金斯(Jenkins)的多分支管道工作来以类似于分支的方式构建标签。在Jenkins 2.73(不确定何时添加功能)中,可以将Multibranch项目配置为从源存储库中检索分支和标签。最初,我认为这将非常适合我的需求(我的Jenkinsfile现在可以在Jenkins的同一位置进行开发或生产构建)。 配置了标签发现的多分支作业 我已经使用脚本管道成功构建并运行了构建过程

  • 问题内容: 有谁知道在Jenkinsfile中设置作业属性(特别是构建触发器)的正确方法吗? (多分支管道作业中的声明性管道脚本)。 为了清楚起见,我需要为多分支项目中的基础作业设置特定的构建触发器。我可以在GUI中配置总体多分支项目的触发器。 我收到错误消息,说自v0.8起,我应该改用options步骤:https ://jenkins.io/doc/book/pipeline/syntax/#