Я динамически загружаю свою библиотеку в файл Jenkinsfile следующим образом:
library identifier: 'custom-lib', retriever: modernSCM(
[$class: 'GitSCMSource',
remote: 'https://github.mygit.io/owner/jenkins-libraries.git',
credentialsId: 'gitcred'])
Когда я не вызываю метод из библиотеки на следующих этапах, он работает нормально, и я вижу доступные методы воспроизведения.
Как бы то ни было, когда я пытаюсь вызвать метод в блоке шагов следующим образом
steps{
run-terraform()
}
Я получаю ошибку
WorkflowScript: 32: Expected a step @ line 32, column 17.
run-terraform()
^
Похоже, что Дженкинсинтерпретируя Jenkinsfile, он сначала не загружает библиотеку и предполагает, что run-terraform()
не существует.Тем не менее, когда я динамически загружаю библиотеку и отказываюсь от вызова каких-либо методов, создается впечатление, что Jenkinsfile действителен и работает.
Мне кажется, что я упускаю что-то очевидное, когда дело доходит до загрузки custom-lib
.Когда я предварительно определяю библиотеку в Jenkins и вызываю ее с помощью @Library
, она прекрасно работает.
Как вызвать метод из динамически загружаемой библиотеки?