詹金斯在主机上运行计算吗?

时间:2018-11-06 16:47:04

标签: jenkins jenkins-pipeline

我一直在Jenkins上运行一些作业,而且我注意到尽管有一个节点步骤调用较早,但由于某种原因许多作业仍在主服务器上运行。

我正在使用管道作业。

我解开了问题的症结;我的测试代码如下:

node("arbitraryNode"){
  module = load "testFile.gvy"
  module.doStuff()
}

已加载的testFile.gvy如下所示:

def doStuff(){
  print("Doing stuff")
  findAllSquares(2000)  
  print("Stuff done")
}

def findAllSquares(n){
  finalList = []
  for (i in (0..n)){
    for (w in (0..i)){
      if (w * w == i){
        finalList.add(i)
        //Arbitrary n^2 time-consuming function
      }
    }
  }
  return finalList
}

return this

当我运行Jenkinsfile时,在打印出“正在做的东西”之后,尽管该作业应该在指定的“ arbitraryNode”从属服务器上执行,但它似乎仍在95%的时间在主服务器上执行。

我的主节点配置正确,执行者为0,没有有意义的标签,执行受限。有人可以告诉我我在做什么错吗?我隐约记得曾经听说过我们应该通过批处理/ shell调用在自己的流程中运行资源密集型步骤,但是我不记得我在哪里听到的,也不记得这样做的理由。

谢谢。

0 个答案:

没有答案