Как использовать агент dockerfile в сценарии Jenkins DSL - PullRequest
0 голосов
/ 21 января 2020

Мне нужно перенести конвейер Jenkins на старый формат заданий Jenkins с помощью DSL. Я застрял в разделе агента:

agent {
    dockerfile {
        label 'buildDockerNode'
        dir 'devops/k8s/build'
    }
}

Как я могу использовать этот метод на старых Дженкинс? В старой DSL заданий Jenkins я вижу только конфигурацию label для соответствующего синтаксиса конвейера. Любая идея приветствуется.

Ответы [ 2 ]

0 голосов
/ 31 января 2020

Я нашел решение с помощью buildInDocker оболочки:

https://jenkinsci.github.io/job-dsl-plugin/#path / job-wrappers-buildIn Docker

job('example-2') {
    wrappers {
        buildInDocker {
            dockerfile()
            volume('/dev/urandom', '/dev/random')
            verbose()
        }
    }
}
0 голосов
/ 21 января 2020

Используя свойство pipeJob, ваш агент будет настроен с помощью pipeDSL. Нет необходимости определять его снова в jobDSL https://jenkinsci.github.io/job-dsl-plugin/#path / pipelineJob

Чтобы упростить преобразование в jobDSL, я бы рекомендовал использовать библиотеку jenkins-pipelayer, которая абстрагирует для вас jobDSL, и вы можете используйте файлы свойств для настройки вашего конвейера. документы здесь: https://github.com/SAP/jenkins-pipelayer/blob/master/USAGE.md#template -двигатель

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...