Трубопровод Дженкинс: этапы сборки не выполняются одновременно? - PullRequest
0 голосов
/ 02 мая 2018

У меня проблемы с трубопроводом Дженкинс. Дело в том, что, кажется, один из шагов выполняется параллельно с другим (не преднамеренно):

У меня есть что-то вроде:

...
step("build"){
  bat [Visual Basic 6 compile command - vb6.exe file.vbp /outdir my/directory]
  if(fileExists("my/directory/output.dll"){
    println "SUCCESS"
  }else{
    error("error")
  }
  ...
}

Хорошо, проблема в том, что он проверяет, существуют ли файлы до того, как он будет записан командой compile ... Если я поставлю спящий режим 10 перед условием, он всегда работает нормально (пока), но, очевидно, я не не хочу иметь команду сна в моем конвейере.

Я не знаю, смогу ли я лучше контролировать выполнение порядка или, возможно, ошибка кроется в vb6.exe, который создает поток для записи вывода, а затем основной поток возвращает успех до записи вывода ... . Имеет ли это смысл? Кто-нибудь знает, как можно решить эту проблему?

1 Ответ

0 голосов
/ 04 мая 2018

Мое решение состоит в том, чтобы сделать шаг компиляции VB6 blocking .

Это то, что я запускаю при локальной работе на моей машине:

cmd /c VB6.exe /make someproject.vbp

И это также подход, используемый плагином Jenkins Visual Basic 6 (я автор). Смотрите это .

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