Я генерирую конвейер Jenkins, используя скрипт. Этот конвейер затем загружается и выполняется. Это прекрасно работает на любом узле Linux и с sh
инструкциями и т. Д.
Я столкнулся с проблемой при выполнении этого на узле Windows с шагами powershell
и bat
:
Checkout scm работает нормально, но любые шаги с шагами powershell
или bat
зависают бесконечно. Копирование данных из сгенерированного файла и воспроизведение всего в одном Jenkinsfile работает как положено.
Пример того, что работает (исключая библиотеку):
"Главный" Jenkinsfile:
def pod_label = "my_linux_node"
node(pod_label) {
stage("Checkout") {
checkout scm
}
stage("Pipeline generation") {
// genarate pipeline and save in "gen_pipeline.groovy"
}
stage("Run Pipeline") {
pipeline = load "gen_pipeline.groovy"
pipeline.run_pipeline()
}
}
script1:
def run_pipeline(){
node('my_win_node') {
checkout scm
bat "echo foobar"
}
}
return this