Периодически создавать синтаксис для конфигурации Jenkins как плагин кода (JCasC) - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь использовать плагин конфигурации как код (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' {}
          }
        }
      }

1 Ответ

0 голосов
/ 24 сентября 2019

Если вы используете JCasC для настройки конфигурации сборки / конвейера:

Для периодической сборки независимо от изменений SCM , вы можете добавить этот блок:

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

Чтобы периодически строить , только если произошли изменения SCM, вы можете использовать этот блок:

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

...