我有几个 Jenkins 从属服务器,其中一些带有“X”标签,另一些带有“Y”标签。当我从上游作业启动此作业时,我想根据标签选择从属服务器组。即,我想将标签值(用于 NodeLabelParameter 插件)作为参数传递。
我已经玩过 NodeLabelParameter 和 Parameterized Trigger 插件,并查看了http://www.shaunabram.com/dynamically-set-jenkins-node/和类似的文章,但仍然无法实现我需要的流程。
答案1
通过使用 NodeLabelParameter 和 Parameterized Trigger 插件解决了这个问题。出于某种原因,我忘记了需要使用 BuildParameterFactory 才能在所有具有所选标签的从属上运行。
答案2
Label nodes
当您希望某个节点专门用于某些类型的作业,同时阻止所有其他作业使用该机器时,这种方法很适合。
假设您希望从属节点运行标记为从属的作业,而主节点仅运行标记为主的作业。
管理Jenkins -> 管理节点 -> 配置 -> 使用 -> “仅构建与标签表达式匹配此节点的作业”,然后在标签输入框中输入从属并保存。
接下来配置节点下的master机器,用法->“仅构建与该节点匹配的标签表达式的作业”,然后在标签输入框中输入master并保存。
接下来标记作业 - >限制该项目何时可以运行 - 在标签输入框中输入master,以便作业只能在主节点上运行,然后单击保存。
等等...希望你能理解这个概念。