Используйте Jenkisfile, расположенный в том же репо, что и исходный файл DSL groovy - PullRequest
1 голос
/ 25 октября 2019

Моя текущая структура папок выглядит следующим образом

.
├── 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/
        }
}
...