我是Jenkins的新手,我正在尝试建立一个将使用少量构建执行程序的项目。流程如下:
webservice
tester
如何在詹金斯实现这种行为?
我发现,当构建执行器完成其工作时,它会立即释放,并且我不知道如何使其等待其他构建执行器完成其工作。
编辑 :
我忘了提到我要webservice保留带有标签的构建执行器(不适用于其他作业),直到带有tester标签的构建执行器完成其长期运行的工作。
同样,所有这些构建执行器都应分别位于单独的从机上。这意味着每个从站只有一个构建执行器。
我终于设法使用 Pipeline 和以下脚本执行此操作:
node('webservice') { def firstHostname = getHostname() node('webservice') { def secondHostname = getHostname() node('tester') { println 'Running tests against ' + firstHostname + ' and ' + secondHostname // ... } } } def getHostname() { sh 'hostname > output' readFile('output').trim() }
它获得两个带有webservice标签的构建执行器。我正在获取它们的主机名(我在使用它们而不是IP地址),并将它们传递给带有tester标签的构建执行器。最后,tester运行一些长时间运行的测试。
这两个webservice构建执行器被阻止,直到tester完成其工作为止,在此期间没有其他项目可以使用它们。