Jenkins DSL脚本-未找到父路径



我使用cloudbees-folder插件在文件夹结构中组织DSL作业定义。回购的结构与此类似:

jobs/
- dev/
- other/
- job1/
- job2/
- folder.yml (dsl)
- web/
- job1/
- job2/
- folder.yml (dsl)
- test/
- other/
- job1/
- job2/
- folder.yml (dsl)
- web/
- job1/
- job2/
- folder.yml (dsl)

在Casc Pipeline Demo中,显示了父folder脚本被配置为Pipeline作业的一部分,但是我想将folder脚本分离到一个单独的配置中,如上面的目录结构所示。在每个devtest目录中,大约有十几个目录,所有这些目录都遵循相同的模式并成功创建。但是,web目录没有首先获取folder.yml配置。这导致以下致命错误

2022-09-27 18:51:42.807+0000 [id=42]    INFO    j.j.plugin.JenkinsJobManagement#createOrUpdateConfig: createOrUpdateConfig for test/web/job1
2022-09-27 18:51:42.825+0000 [id=42]    SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed ConfigurationAsCode.init
javaposse.jobdsl.dsl.DslException: Could not create item, unknown parent path in "test/web/job1"

如何保证JenkinsJobManagement#createOrUpdateConfig使用的配置顺序,以便始终在执行子目录中的作业配置之前创建文件夹?

我之前曾尝试在folder.yml配置名称前面加上数字和下划线,认为这是按字母顺序排列的,但似乎没有确定的配置排序方式。

事实证明,在复制/粘贴dsl配置时,我没有重命名作业名,因此父路径确实没有创建。‍♂️

最新更新