当前位置:  开发笔记 > 运维 > 正文

一个种子作业可以处理来自多个存储库的DSL吗?

如何解决《一个种子作业可以处理来自多个存储库的DSL吗?》经验,为你挑选了0个好方法。

最近,我设法将几个手动创建的作业转换为DSL脚本(内联到临时的“种子”作业中),并且感到惊讶,它是如此的简单。现在,我想摆脱多个种子工作,并尝试更整洁地构建事物。

为此,我创建了一个新的存储jenkins-ci库,并将所有Groovy DSL脚本提交给它。然后,我创建了一个job-generatorJenkins作业,该作业从存储jenkins-ci库中提取,并且只有一个Process Job DSLs步骤。此步骤已选中“在文件系统查找”框,“ DSL脚本”字段设置为jobs/*.groovy。有了全局推送通知后,此操作或多或少地达到了预期的效果:如果我对存储库进行了更改jenkins-ci,该job-generator作业将自动运行并重新生成所有作业,真棒!

我对该解决方案不满意的是,它的参考位置很差:该作业的DSL脚本位于与代码完全独立的存储库中。我倒是真的很喜欢,是保持工作DSL脚本中的每个单独的代码库,在一个jenkins子文件夹,有一个单一的种子作业过程中他们所有。这样,就可以在代码旁边同时检查对CI设置的更改。对我来说,这就像是一个理想的设置。

不幸的是,我对如何实现这一目标尚无明确的想法。如果我能找到一种方法来使种子作业监视多个存储库,从而使对它们中任何一个的提交都将触发它,也许我可以在“ 处理作业DSL”步骤之前注入另一个构建步骤,并(以某种方式)编写脚本来胜利,但是...我不确定如何甚至得到这一点。(我当然不想只生成DSL脚本就对生成器作业中的每个仓库进行完整的克隆!)

我怀疑我不是第一个希望他们可以将Job DSL脚本与代码放在一起的人,尽管也许我高估了它的好处。感谢您提供有关该主题的任何建议!

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有