Представление конвейера доставки для трубопроводов Jenkins в задании dsl

Как я могу создать представление конвейера доставки для конвейера jenkins, используя jobdsl.

Все, что я мог найти, это deliveryPipelineView, который не совпадает с представлением, любая информация по этому вопросу была бы полезна

2 ответа

Представления конвейера доставки для конвейеров Jenkins в данный момент не поддерживаются JobDSL (1.64).

Класс Job DSL Delivery PipelineView поддерживает только традиционные задания с зависимостями вверх / вниз. Причиной этого является то, что плагин Delivery Pipeline использует различные представления и модели данных под капотом для визуализации представлений конвейера для заданий восходящего / нисходящего потоков и конвейеров Jenkins, во многом из-за различной природы базовых моделей данных, используемых в Jenkins.

Традиционное представление, поддерживаемое JobDSL, сгенерирует конфигурацию se.diabol.jenkins.pipeline.Delivery PipelineView, а представления, поддерживающие конвейеры Jenkins, моделируются с использованием класса se.diabol.jenkins.workflow.WorkflowPipelineView в подключаемом модуле конвейера доставки.

Текущий шаблон Delivery PipelineView в JobDSL: https://github.com/jenkinsci/job-dsl-plugin/blob/master/job-dsl-core/src/main/resources/javaposse/jobdsl/dsl/views/Delivery PipelineView-template.xml#L2

Если вы добавите /config.xml к URL-адресу вашего представления, основанного на конвейерах Jenkins, вы заметите, что XML имеет тип se.diabol.jenkins.workflow.WorkflowPipelineView.

Решение на данный момент заключается в том, чтобы вручную создать необходимый файл config.xml и передать его Дженкинсу самостоятельно.

Для меня метод deliveryPipeLineView создает именно представление конвейера доставки.

Вот пример:

deliveryPipelineView('name-pipeline') {
   description('description-pipeline')
   pipelineInstances(1)
   showAggregatedPipeline()
   columns(1)
   sorting(Sorting.TITLE)
   updateInterval(2)
   enableStartBuild()
   enableManualTriggers()
   showAvatars()
   showChangeLog()
   pipelines {
    component('name', 'init-job')
   }
}

Смотрите документ на gitHub для более подробной информации: https://github.com/jenkinsci/job-dsl-plugin/wiki/Job-DSL-Commands

Другие вопросы по тегам