在代理节点上添加詹金斯管道触发器

时间:2021-07-07 06:42:10

标签: jenkins-pipeline jenkins-groovy

我正在尝试向我的管道文件添加触发器

pipeline {
agent {
    node {
      label 'Deploymentserver' 
      triggers {
        cron('H 09 * * 1-5')
      }  
   
    }
  
}

此代码给出了错误:

WorkflowScript: 22: Invalid config option "triggers" for agent type "node". Valid config options are [label, customWorkspace] @ line 22, column 11.
         triggers {

然后我试图把它放在代理之外,假设我不会工作但只是为了测试

pipeline {
agent {
    node {
      label 'Deploymentserver' 
 
   
    }
   
}
triggers {
        cron('H 09 * * 1-5')
}  

它不会给出任何错误,但也不会触发我的管道。 代理节点似乎不支持触发器选项。

它是一个与 bitbucket 集成的声明式管道。我怎样才能让它工作。

1 个答案:

答案 0 :(得分:0)

您的第二次尝试是正确的语法。
正如您在 Documentation 中看到的,triggers 的正确位置与 agent 指令在同一级别:

pipeline {
    agent {
        label 'Deploymentserver'
    }
    triggers {
        cron('H 09 * * 1-5')
    }
    stages {
        ...
    }
    ...
}

因此配置不是问题,应该按预期工作。

可能导致您出现问题的一个原因是,您必须在添加触发器配置后至少运行一次管道(手动或自动)才能使配置生效。
您可以进入 Jenkins UI 中的作业配置并验证您在那里看到的 cron 触发器设置,如果是这样,您的管道触发器配置正确。