Я кодирую Трубопроводы Jenkins , но мой процесс разработки крайне неэффективен.Для каждой модификации я должен зафиксировать и отправить свой код и вручную запустить конвейер.Простая опечатка заставляет меня делать все это снова.Мой журнал контроля версий - беспорядок.
Я пытаюсь использовать Pipeline Linter , но он не работает, поскольку он не распознает Shared Libraries , которые япользуюсь.
Вот упрощенная версия моего кода, которую я постараюсь выложить.Этот код работает, когда я запускаю его из интерфейса:
//importing class MyClass defined in src/com/company/MyClass.groovy
import com.company.MyClass.*
//importing src/com/company/helper/Log.groovy
import com.company.helper.Log;
def call(String env) {
def mud
pipeline {
agent none
stages{
stage('Checkout') {
agent any
steps {
mud = new MyClass(script: this)
}
}
}
}
}
Я запускаю конвейерную трассировку с помощью этой команды:
ssh -p 8222 jenkins declarative-linter < myPipeline.groovy
И, хотя он прекрасно работает, когда я запускаю конвейер вДженкинс, я получаю следующую ошибку проверки lint:
Errors encountered validating Jenkinsfile:
WorkflowScript: 2: unable to resolve class com.company.helper.Log
@ line 2, column 1.
import com.company.helper.Log;
^
WorkflowScript: 25: unable to resolve class MyClass
@ line 25, column 35.
mud = new MyClass(script: this)
Как использовать конвейерный линтер с общими библиотеками?
Я также приветствую любую помощь для оптимизации моего процесса разработки!