对于我的 Jenkins 工作,我设置了一个环境参数,它告诉我的构建脚本要使用哪个配置。我还在每个环境上运行从属节点来构建和部署我的应用程序。
我尝试使用“限制此项目可以运行的位置”的值
buildnode-${ENV}
其中 ENV 是我的参数名称。这似乎不起作用,因为标签不执行替换。
我还尝试了NodeLabel Plugin,它允许我定义从哪些节点运行作业。但是,这将创建两个单独的选择:
有没有办法将这两者结合在一起,例如,当我选择 QA 环境时,选择 QA 服务器的从节点来运行构建?
您可以尝试以下解决方法:有两个版本 - A 和 B。 A将设置环境,将其保存到文件中,并将该文件作为参数传递给构建B,以及要运行的节点的名称(参数将通过参数化触发器插件传递)。 B将读取环境(通过EnvInject插件)并在作为其他参数传递的节点上运行构建(您确实需要使用NodeLabel插件)。