【发布时间】:2019-05-22 08:28:18
【问题描述】:
我已经创建了大约 100 个测试作业的 groovy Job DSL 代码(主脚本)。方法是它们应该可以手动执行,并且我们希望有管道让它们在晚上执行。 因此,也将创建管道作业(多个)。不是问题。
但是由于主要的 DSL groovy 脚本会很大,我希望将相应的管道脚本(管道作业将加载)放在单独的文件中。由于有这么多的作业,我已经将所有作业的配置放在一个单独的文件中,它们在 MAP 中定义。 创建所有测试作业的逻辑都放在主脚本中,并循环通过位于单独文件中的 MAP。工作正常。
不希望将必须在管道定义中配置的作业名称硬编码(重复信息)!因此计划是从创建测试作业的相同主脚本逻辑创建管道定义文件。然后是所有相关信息,例如作业名称和目标主机等,可用于通过 MAP 进行的每次迭代。
知道如何从 groovy 作业 dsl 脚本创建和操作单独的管道脚本文件吗?
我尝试使用标准的 groovy 代码创建文件。但很明显,它们是在 Jenkins Master 中创建的。这必须在从站中。
def newFile = new File("${WORKSPACE}/scripts/jenkins_job_dsl/pipeline.conf")
print "${newFile}"
当使用“新文件”时,我在种子作业中得到了这个:
...
/home/builduser/workspace/Test_and_demo/Richard_Test/seed_job_richard/scripts/jenkins_job_dsl/pipeline.conf
FATAL: No such file or directory
13:33:50 java.io.IOException: No such file or directory
...
【问题讨论】:
标签: jenkins-pipeline jenkins-groovy jenkins-job-dsl