您如何处理将Jenkins作业映射到您的构建过程,以及您是否能够在继承上构建级联配置?
对于任何给定的构建,我将至少有三个工作(标准持续集成/夜间、安全扫描、覆盖),然后是一些下游集成测试工作。配置切片器插件处理跨作业的某些方面,但每个作业在很大程度上仍然是它自己的单独实体,与其组中的其他作业没有关系。
我最近看到了QuickBuild,它有作业继承,父作业可以定义一组标准的步骤,它的子作业可以覆盖和专门化。有了Jenkins,我有了作业的副本,除非我需要更改一些东西,否则这是很好的。使用QuickBuild,工作之间的关系允许我轻松地传播我的更改。
我一直在想如何在Jenkins中处理这个问题。我可以使用参数化的构建触发器插件来允许作业调用其他作业并覆盖方面。然后,我将从调用的作业中获取数据,并将其发送给调用者。我怀疑我会遇到一系列问题,其中有一些方面我无法覆盖,这将迫使我在自己的脚本中实现Jenkins功能,从而使Jenkins变得不那么有用。
如何在Jenkins中处理构建作业中的复杂性?你听说过QuickBuild有什么严重的问题吗?
发布于 2013-07-24 22:10:34
我想向您指出我的团队开发的一个插件的发布,该插件最近才在开源下发布。它实现了完整的“作业之间的继承”。
有关可能对您有帮助的更多链接,请单击此处:
https://www.youtube.com/watch?v=wYi3JgyN7Xg
发布于 2011-11-16 15:51:52
我也遇到了几乎同样的问题。我们有一组作业需要为我们的主干和至少两个分支运行。分支代表我们的版本,每隔几个月就会创建一个新的分支。手动创建新的工作岗位不是解决方案,所以我检查了一些可能性。
一种可能性是使用template plugin。这使您可以创建某种作业的层次结构。它为构建器、发布器和SCM设置提供继承。可能对一些人有用,但对我来说还不够。
我检查的第二件事是用于作业克隆的Ant Script,以及他的兄弟Bash Script。这些真的很棒。其思想是让脚本为创建一个新作业,复制模板作业中的所有设置,并在需要时进行更改。因为这是一个脚本,所以它非常灵活,你可以用它做很多事情。唯一的缺点是,这不会产生真正的层次结构,因此模板作业中的更改不会反映在已经克隆的作业上,而只会反映在即将创建的作业上。
看看这两种解决方案的缺点和优点,两者的组合可能效果最好。您可以使用一些对所有作业都适用的基本设置创建一个模板项目,然后使用bash或ant脚本根据该模板创建作业。
希望这能有所帮助。
发布于 2012-07-18 21:37:43
有人问我这个问题的最终解决方案是什么……在与我们的采购系统斗争了几个月后,我们在Quickbuild上花费了大约4000美元。在大约2-3个月的时间里,我们有了一个模板构建系统,并对此非常满意。在我离开公司之前,我们在系统中有几个产品组,也在自动化发布过程。
Quickbuild是一个很棒的产品。它应该在4万美元的级别,但它的价格要低得多。虽然我确信Jenkins可以做到这一点,但这将是一个有点杂乱无章的东西,而Quickbuild已经内置了这个功能。我以前在产品上实现过复杂的行为(例如SVN 1.0中的合并跟踪),并对此感到遗憾。Quickbuild定价合理,为我们的构建和测试系统提供了坚实的基础。
目前,我在一家公司使用竹子,希望它的新特性分支特性能够提供Quickbuild所能做的大部分功能
https://stackoverflow.com/questions/6541165
复制相似问题