首页 文章

如何将jenkins管道作业链接到docker从属容器上的标签

提问于
浏览
1

我正在寻找一种方法来在Jenkins奴隶中运行Jenkins作业/构建,由docker动态(按需)启动 . 方案如下:

我有一个物理从站(节点名称:jenkins-slave-01和label:mySlave),我可以通过在我的jenkins管道脚本上使用此代码轻松触发作业:

node ('jenkins-slave-01') {
stage ('Checkout and compile') {       
   //code ommited
}
...
//other stages ommited }

使用docker plugin,我将docker images configured作为docker模板,标签为'docker-slave-01, docker-slave-02, etc' . 我想要的是将这些图像用作某些管道作业的docker slave,但在这种工作中,没有显示将此作业链接到此标签(限制此项目可以运行的位置和Label表达式字段)的选项 .

在作业配置中,选项“Docker Container”不足以在触发物理从站时触发docker容器 .

我怎样才能在管道工作中处理这个问题?是否有可能做到这一点?

1 回答

  • 2

    Jenkins管道作业始终在轻量级Jenkins Master执行程序上启动(在启动之后,您可以在Build Executor状态概述中弹出它) . 在管道脚本中,使用 node('[AGENT_NAME]') 步骤定义在哪个代理(从属)上执行哪个部分 .

    请注意 [AGENT_NAME] 也可能是标签,因此如果您将docker agent设置为具有标签 docker-agent ,则可以通过添加 node('docker-agent') 步骤确保您的Pipeline在刚刚生成的docker代理上运行 .

相关问题