我遇到Jenkins管道问题。 问题是,似乎其中一个步骤与另一个步骤并行(非故意):
我有类似的东西:
...
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")
}
...
}
好的,问题是:它在编译命令写入之前检查文件是否存在...如果我在条件之前放置一个睡眠10,它总是运行正常(暂时),但显然,我不想在我的管道中有一个睡眠命令。
我不知道我是否可以更好地控制命令执行或者如果错误在于创建线程来编写输出的vb6.exe,然后主线程在输出写入之前返回成功......这有意义吗?有谁知道我怎么解决这个问题?
答案 0 :(得分:2)
我的解决方案是制作VB6编译步骤blocking。
这是我在机器上本地工作时运行的内容:
cmd /c VB6.exe /make someproject.vbp
这也是Jenkins Visual Basic 6 plugin(我是作者)使用的方法。见this。