Моя текущая структура папок выглядит следующим образом
.
├── README.md
└── jobs
├── cloneImages.groovy
├── pipelineJobs
└── cloneImageJob.Jenkinsfile
Все вышеперечисленное находится в одном репозитории github. cloneImages.groovy
- это начальное задание jenkins с использованием DSL Process Job.
По сути, я хочу создать конвейерное задание, используя это. И файл Jenkins, который я хочу загрузить для cloneImageJob
, находится в том же репо.
Однажды я могу сделать это, чтобы снова оформить репо и перейти к файлу Jenkinsfile, но это не чистое решение, imho. Использование scm script
также не вариант, так как код начинает выглядеть действительно грязным (много ошибок и конкатенаций).
Так есть ли способ получить Jenkinsfile для работы, которую я создаю, используя jobDSL из того же репо?
cloneImages.groovy:
pipelineJob("clone-images") {
description('''
''')
parameters {
choiceParam // some parameters
}
definition {
// Need a mechanism here that can pull the Jenkinsfile thats in the same repo as cloneImages.groovy located one folder down i.e. pipelineJobs/
}
}