Дженкинс - cmd не распознается - PullRequest
0 голосов
/ 02 февраля 2019

Среда:

  • Главный сервер Linux Jenkins
  • Два подчиненных узла Windows
  • Ведомые устройства Windows работают в качестве службы

Первый тест

  • Я создаю конвейер и использую «Выполнить пакетную команду Windows» в разделе сборки
  • В поле «Команды» я помещаю «C: \ Jenkins \ mytest»..bat "
  • Я установил флажок" Ограничить, где можно запустить этот проект "и записал имя ведомого Windows
  • Я построил конвейер и был успешным

Второй тест

  • Я создаю декларативный конвейер следующим образом:

    pipeline {  
        agent { label 'SiebelWindows' }
    
        stages {
            stage('Test Bat') {
               steps { 
                            bat 'C:\\Jenkins\\mytest.bat'
                            //bat 'start cmd.exe /c C:\\Jenkins\\mytest.bat'
                            //call C:\\Jenkins\\mytest.bat
                            }
                    }
        }
       }
    
  • В этом случаеbuild FAIL с ошибкой «cmd не распознается как внутренняя o внешняя команда»

Итак, почему я могу запустить .bat с не декларативным конвейером,но терпит неудачу с декларативным конвейером?

1 Ответ

0 голосов
/ 07 февраля 2019

Когда я отображаю переменные «Path» и «PATH», это был результат

Original_Path

Решением было переопределение переменной среды PATH, напримерэтот

environment {

    PATH = "C:\\WINDOWS\\SYSTEM32"

}

@ JustAProgrammer спрашивает меня, был ли C: \ WINDOWS \ SYSTEM32 в ПУТИ моей машины с Windows, и это правильно, но кажется, что мастер Jenkins не знает путь Windows ведомого устройства.

Я решил свою проблему, но я все еще ищу полное решение, мне нужно установить переменную среды PATH со ВСЕМ путем, а не только с C: \ WINDOWS \ SYSTEM32

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...