我希望能够动态地为构建提供docker子节点,并将这些节点的配置/设置作为其使用的Jenkinsfile groovy脚本的一部分。
当前作业设置的局限性意味着Jenkins有一个节点/执行器(master
),我想支持使用Docker的节点来减轻这一瓶颈。
我注意到使用docker容器作为节点有两种方法:
不幸的是,似乎不能同时使用两者-使用标签,但是在配置与标签相匹配的docker cloud模板配置(2)中指定配置(1)的docker镜像似乎不起作用,而是在构建过程中产生未找到标签的错误。
理想情况下,我希望控件位于管道groovy文件中,以便将配置存储在应用程序(1)中,而不是Jenkins服务器(2)中。但是,建议,如果我使用agent
部分并提供docker映像,则它仍然必须首先定位现有的执行者(即master
),这将导致其他版本排队直到当前版本完成。
我正要迁移构建,因此并不是所有构建都可以使用docker容器作为节点来支持,并且在master
节点上并行运行时,构建会有问题。
Docker管道文件是否可以确定其运行的子节点的映像?
我考虑过但尚未尝试过的一些选择:
master
节点上启用并行构建。master
的副本(使用同一服务器,只是位置不同)。将其配置为支持并行构建,并使所有迁移的作业在构建期间明确地以该节点为目标。