我的Jenkins示例有几个属于不同项目的作业文件夹。现在,对于某些文件夹,
我知道这可以通过使用标签来完成,但我想知道是否有一种方法可以在文件夹上进行配置,而不必将标签信息添加到下面的所有作业
yyhrrdl81#
是的,在文件夹中,您可以使用一些环境变量设置配置文件,这些环境变量稍后将由jenkinsfile用于“决定”代理标签。但是,您将无法强制执行它,也无法防止其他作业重用这些代理。管道的示例如下所示:
pipeline { agent none environment { AGENT_LABEL = 'nice-label' } stages { stage('Build') { environment { AGENT_LABEL = sh(script: 'echo $AGENT_LABEL', returnStdout: true).trim() } agent { label "${AGENT_LABEL}" } steps { // Run build steps here } } } }
要了解如何在jenkins中读取配置文件,请参见post在更复杂但更有效的设置中,您可以在开始构建之前动态生成每个作业所需的代理。为此,您需要配置和使用Kubernetes plugin。这是tutorial
1条答案
按热度按时间yyhrrdl81#
是的,在文件夹中,您可以使用一些环境变量设置配置文件,这些环境变量稍后将由jenkinsfile用于“决定”代理标签。但是,您将无法强制执行它,也无法防止其他作业重用这些代理。管道的示例如下所示:
要了解如何在jenkins中读取配置文件,请参见post
在更复杂但更有效的设置中,您可以在开始构建之前动态生成每个作业所需的代理。为此,您需要配置和使用Kubernetes plugin。这是tutorial