当前位置: 首页 > 面试题库 >

Jenkins-让代理商等待其他代理商完成

仉高昂
2023-03-14
问题内容

我是Jenkins的新手,我正在尝试建立一个将使用少量构建执行程序的项目。流程如下:

  • 带有webservice标签的两个构建执行器返回其IP地址,并等待第三个构建执行器完成其工作
  • 第三个带有tester标签的构建执行器收集这些IP地址并执行一些长期运行的工作(例如,向部署在这两个代理上的Web服务发送HTTP请求

如何在詹金斯实现这种行为?

我发现,当构建执行器完成其工作时,它会立即释放,并且我不知道如何使其等待其他构建执行器完成其工作。

编辑

我忘了提到我要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完成其工作为止,在此期间没有其他项目可以使用它们。



 类似资料:
  • 正如多次指出的那样,Clojure是一种编程语言,其中许多数据类型是不可变的,这意味着可以改变变量值的唯一方法是创建一个新变量并为其赋值。 但是,Clojure确实提供了一些可以创建可变状态的元素。 我们已经看到这可以用atom数据类型实现。 另一种可以实现的方式是通过代理商。 Agents提供各个位置的独立,异步更改。 代理在其生命周期中绑定到单个存储位置,并且仅允许由于操作而发生该位置的突变(

  • 我有一个仓库模型,“拣货”代理沿着Y轴移动,到达“拣货槽”代理的前端。 我希望在到达拣货槽前时,拣货代理面对拣货槽。 我知道MoveTo块的“到达时设置旋转”功能,但我很难理解它。我应该在这里输入什么样的值? 有没有可能根据代理之间的相对位置动态定义旋转?如果是这样,我应该怎么做?一些插槽在拾取器的左边,另一些在右边。 谢谢你。

  • null null Jenkins通过curl命令触发作业(不在管道中),Jenkins kubernetes插件可以用我定义的图像触发作业。

  • 查询所有商户列表 接口描述 获取所有商户列表 URL /merchant HTTP Method GET 请求参数 无 返回参数 返回参数 是否必须 类型 描述 merchantId true String 厂商id merchantName true String 厂商名称 merchantNickname true String 厂商昵称 groupCode true String

  • 代理商接口用于合作商直接调用来创建和管理果盘平台账号。 此部分接口需要用代理商接口msid和apikey来发起调用,不能用商家账号和密钥来调用。 代理商msid和apikey如下图,需要登录代理商后台->开发管理->APP应用管理中获取。

  • 代理商接口用于合作商直接调用来创建和管理果盘平台账号。 此部分接口需要用代理商接口msid和apikey来发起调用,不能用商家账号和密钥来调用。 代理商msid和apikey如下图,需要登录代理商后台->开发管理->APP应用管理中获取。