如何从Jenkins管道脚本中的标签获取节点名称

chris_f

我有一组用于测试构建结果的虚拟机。所有VM均配置为Jenkins从节点。主节点可以启动和停止VM。

虚拟机的标签中,每组三个(cluster1cluster2),并用不同的角色(role1role2role3)。

我想编写一个管道脚本,该脚本以GROUP名称作为参数(StringParameterValue)并

  1. 启动属于该组的虚拟机
  2. 在每个节点上(并行)运行单独的测试
  3. 完成后停止VM。

管道脚本大致如下所示:

def VM1 = ??? get name of the node labeled ("GROUP && role1") ???;
def VM2 = ??? get name of the node labeled ("GROUP && role2") ???;
def VM3 = ??? get name of the node labeled ("GROUP && role3") ???;
def VMs = [VM1, VM2, VM3];

node (master) {

    stage 'Start'
    def start = [:];
    for ( vm in VMs ) {
        start["${vm}"] = {
            build job: 'Start_VM', parameters: [
                [$class: 'StringParameterValue', name: 'VMNAME', value: vm]];
        }
    }
    parallel start;

    def tests = [:];
    for (int i = 0; i < VMs.size; i++) {
        tests["role${i}"] = {
            node (VMs[i]) {
                build job: "Test_role${i}";
            }
        }
    }
    parallel tests;

    Stage 'Stop'
    def stop = [:];
    for ( vm in VMs ) {
        stop["${vm}"] = {
            build job: 'Stop_VM', parameters: [
                [$class: 'StringParameterValue', name: 'VMNAME', value: vm]];
        }
    }
    parallel stop;
}

问:如何通过组标签得出各个节点的名称?

chris_f

我实现了一个从标签中获取节点名称的函数:

def roles = ['role1', 'role2', 'role3'];

def getNodeNames (group, roles) {
    def lgroup = Jenkins.instance.getLabel(group)
    def result = [:]

    for (role in roles) {
        def lrole = lgroup.and(Jenkins.instance.getLabel(role))
        def nodes = lrole.getNodes()
        if (nodes.size() > 0) {
            result[role] = nodes[0].getNodeName()
        }
    }
    print "getNodeNames($group) = ${result}"
    return result
}

def VMs = getNodeNames(GROUP)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jenkins:如何从标签获取节点名称以用作参数

来自分类Dev

如何获取上游作业在管道下游作业中运行的节点名称

来自分类Dev

fortran:如何获取集群的节点名称

来自分类Dev

当变量等于节点名称时,XSLT如何获取值?

来自分类Dev

如何使用pugixml解析获取具有相同节点名称的节点的节点数据?

来自分类Dev

在jenkins管道脚本中获取gradle变量

来自分类Dev

如何在 XSLT 中访问具有动态节点名称的节点的子节点

来自分类Dev

通过在Xpath中动态传递节点名称来获取节点值

来自分类Dev

Nokogiri:如何获取带有名称空间前缀的节点名称

来自分类Dev

如何从QTreeView返回节点名称

来自分类Dev

如何从QTreeView返回节点名称

来自分类Dev

在ESB中更改xml节点名称

来自分类Dev

在Java Jung中添加节点名称

来自分类Dev

zookeeper 中的节点名称限制

来自分类Dev

使用SQL脚本在XML列SQL Server中重命名XML节点名称

来自分类Dev

使用SQL脚本在XML列SQL Server中重命名XML节点名称

来自分类Dev

如何从 XmlDocument 中读取带有节点名称的所有节点值

来自分类Dev

如何获取xml节点名称和内部文本以及填充网格视图

来自分类Dev

AEM:如何使用查询生成器获取非节点名称“ XX”的文件?

来自分类Dev

使用Python在Nuke中将选定的节点名称获取到列表或元组中

来自分类Dev

在木兰cms中获取已执行的自定义操作的节点名称

来自分类Dev

如何在不使用刀的情况下通过脚本从客户端更改Chef中客户端的节点名称

来自分类Dev

Shell脚本从XML文件检索节点名称

来自分类Dev

使用ubuntu中的shell脚本获取不提示输入密码的无线接入点名称或ssid

来自分类Dev

如何通过使用C#提供节点名称从Treeview中删除Node

来自分类Dev

如何使用Oracle SQL查询选择XML中的特定节点名称及其值?

来自分类Dev

如何在networkxgraph中设置节点名称从0到len(G.nodes)

来自分类Dev

在标签上运行管道时如何获取分支名称?

来自分类Dev

如何获取IIS中托管的任何站点的服务器名称和托管站点名称?

Related 相关文章

  1. 1

    Jenkins:如何从标签获取节点名称以用作参数

  2. 2

    如何获取上游作业在管道下游作业中运行的节点名称

  3. 3

    fortran:如何获取集群的节点名称

  4. 4

    当变量等于节点名称时,XSLT如何获取值?

  5. 5

    如何使用pugixml解析获取具有相同节点名称的节点的节点数据?

  6. 6

    在jenkins管道脚本中获取gradle变量

  7. 7

    如何在 XSLT 中访问具有动态节点名称的节点的子节点

  8. 8

    通过在Xpath中动态传递节点名称来获取节点值

  9. 9

    Nokogiri:如何获取带有名称空间前缀的节点名称

  10. 10

    如何从QTreeView返回节点名称

  11. 11

    如何从QTreeView返回节点名称

  12. 12

    在ESB中更改xml节点名称

  13. 13

    在Java Jung中添加节点名称

  14. 14

    zookeeper 中的节点名称限制

  15. 15

    使用SQL脚本在XML列SQL Server中重命名XML节点名称

  16. 16

    使用SQL脚本在XML列SQL Server中重命名XML节点名称

  17. 17

    如何从 XmlDocument 中读取带有节点名称的所有节点值

  18. 18

    如何获取xml节点名称和内部文本以及填充网格视图

  19. 19

    AEM:如何使用查询生成器获取非节点名称“ XX”的文件?

  20. 20

    使用Python在Nuke中将选定的节点名称获取到列表或元组中

  21. 21

    在木兰cms中获取已执行的自定义操作的节点名称

  22. 22

    如何在不使用刀的情况下通过脚本从客户端更改Chef中客户端的节点名称

  23. 23

    Shell脚本从XML文件检索节点名称

  24. 24

    使用ubuntu中的shell脚本获取不提示输入密码的无线接入点名称或ssid

  25. 25

    如何通过使用C#提供节点名称从Treeview中删除Node

  26. 26

    如何使用Oracle SQL查询选择XML中的特定节点名称及其值?

  27. 27

    如何在networkxgraph中设置节点名称从0到len(G.nodes)

  28. 28

    在标签上运行管道时如何获取分支名称?

  29. 29

    如何获取IIS中托管的任何站点的服务器名称和托管站点名称?

热门标签

归档