jenkins - 定期构建 Jenkins 配置语法作为代码插件 (JCasC)

标签 jenkins yaml jenkins-pipeline jenkins-plugins jcasc

我正在尝试使用配置即代码 (JCasC) 插件来创建定期构建的管道作业,但我无法在网上找到该语法。我正在用 YAML 编写配置。

“定期构建”字段位于管道作业中的“构建触发器”下,并有一个名为“计划”的文本字段。我的日程安排是 0 6-19 * * *

这可能吗?

这是我正在尝试编辑的 yaml 文件:

jobs:
  - script: >
      folder('test1'){
        pipelineJob('test1/seedJobTest') {
          description 'seedJobTest'
          logRotator {
            daysToKeep 10
          }
          definition {
            cpsScm {
              scm {
                git {
                  remote {
                    credentials "xxx"
                    url 'xxx'
                  }
                  branches 'refs/head/master'
                  scriptPath 'Jenkinsfile'
                  extensions { }
                }
              }
            }
          }
          configure { project ->
            project / 'properties' / 'EnvInjectJobProperty' {
              'on'('true')
              'info' {
                'propertiesContent'('BRANCH=master')
              }
            }
            project / 'properties' / 'org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty' {}
          }
        }
      }

最佳答案

如果使用 JCasC 来配置构建/管道配置:

要定期构建,无论 SCM 如何更改,您可以添加此 block :

triggers { 
    cron('0 6-19 * * *')
}

要定期构建,仅当有 SCM 更改时,您可以使用此 block :

triggers {
    scm('0 6-19 * * *')
}

要在上下文中查看此答案,这里是一个代码片段示例:

jobs:
  - script: |
    job('PROJ-unit-tests') {
        scm {
            git(gitUrl)
        }
        triggers { 
            cron('0 6-19 * * *')
        }
        steps {
            maven('-e clean test')
        }
    }

摘自并调整的片段:https://github.com/jenkinsci/configuration-as-code-plugin/issues/876

关于jenkins - 定期构建 Jenkins 配置语法作为代码插件 (JCasC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58066691/

相关文章:

jenkins - 如何在参数化的 Jenkins 管道项目中检索作业名称

jenkins - Gerrit 和 Jenkins 的 Google 身份验证

jenkins - Jenkins Docker Push到Google Cloud失败并发生异常

jenkins - Docker的Jenkins插件

java - 通过 Yaml 配置 H2 数据库 - Spring Boot

Jenkins管道条件阶段,使用 "When"作为选择参数

jenkins - 在 Jenkins 升级构建中使用凭据

powershell - 如何在 GitLab CI YAML 文件中包含 PowerShell 脚本文件

Python捕获异常时,如何获取行号?

git - 将 Jenkins 与 Pipeline 脚本的本地 Git 存储库连接的文件路径结构是什么?