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

如何识别cron计划何时触发了多分支作业?

阮选
2023-03-14

我可以让我的主分支作业按如下方式每小时运行一次:

String cron_string = BRANCH_NAME == "master" ? "@hourly" : ""

pipeline {
  agent none
  triggers { cron(cron_string) }
  stages {
    // do something
  }
}

但是我希望每小时的运行有一些特定的行为——比如每小时的cron触发运行只运行某些阶段。

有没有办法从管道内部识别多分支作业是否是由cron调度触发的?

共有1个答案

蒙光华
2023-03-14

当前构建。GetBuildCauss()应该可以工作。

https://opensource.triology.de/jenkins/pipeline-syntax/globals#currentBuild

 类似资料:
  • 我有一个管道Jenkins作业,它按预期工作,配置了“GitHub hook trigger for GITScm polling”选项,以便在任何推送到git存储库时自动构建。 我已经将这个Jenkins URL与多个git回购挂钩,比如< code>repo-A、< code>repo-B、< code>repo-B。< br> Jenkins作业在任何代码推送至这些回购时自动触发。 但是我想

  • 问题内容: 我希望我的Jenkins多分支管道工作避免触发自身。作业之所以提交,是因为它将递增版本文件并将其检入源代码管理,这将导致无限循环。 在常规工作中,我可以按照以下说明操作来避免这种循环(尽管这不是最干净的方法)。 这些说明不适用于多分支管道(没有“忽略某些用户的提交”选项)。Jenkins多分支管道中是否有任何方法可以防止自我触发的提交? 问题答案: 如果使用GIT,一种解决方法: 更改

  • 使用Jenkins多分支管道作业时,如果您在作业中选择< code > Suppress Automatic SCM trigger(抑制自动SCM触发器),它将在索引分支后停止构建作业(强大的功能)。 但是,由于某种原因,这也将扼杀从SCM事件触发构建的能力! 有没有什么方法可以阻止在分支发现(分支索引)后触发构建,但仍然通过SCM事件正常构建?

  • 我希望每天早上9点完成一项任务。我得到了一些有趣的结果。目前我的工作是这样的: 这是怎么回事?这是正确的表达吗?

  • 我目前设置了一个 Jenkins 多分支管道作业,该作业基于 Gitlab 服务器上托管的 Git 存储库。Jenkins 可以读取存储库中的分支,并为存储库中的每个分支创建一个作业。但是我不知道如何在Gitlab中使用webhook触发作业。 我的问题是: > < li> 如何从Gitlab服务器触发在Jenkins中创建新的分支作业?我看不到一个新分支的webhook被推。 如何触发单个分支的

  • 我有一个场景,但我有两个项目(a和B),都在Jenkins中配置了多分支管道作业,问题是项目B依赖于项目a。 所以我发现有时候当我在项目A中签入代码时,我也需要在项目A构建后构建项目B。现在,在我开始调查管道构建之前,我将每个分支都有一个作业,然后在Jenkins中为相应的分支触发项目B的适当作业。 我想在Jenkins文件中设置什么,这样当ProjectA/develop执行时,它就会触发Pro