我正在研究一个java应用程序,我们构建了它的32位和64位版本。该软件使用本机代码,因此32位和64位版本需要打包相应的库。
目前在我们的构建服务器(jenkins)上,我们在一个项目中构建了32位和64位。原因是因为我们希望保持两个版本同步 - 基本上如果一个版本失败,我们不希望在32位版本上部署某些功能,而不是在64位版本上部署。由于底层代码库是相同的,只是库不同,我认为构建号应该总是相同。
此解决方案有效,但构建需要两倍的时间,因为它执行了两次构建。如果我将它们拆分为单独的项目,那么无法保证32位和64位版本在构建号和构建状态方面保持同步。
这听起来像我真正追求的是一个有两个孩子的父版本 - 32位和64位版本。我不确定的是,这应该在构建服务器上处理,还是作为maven中的多模块项目。有一个多模块项目似乎不太正确,因为只有库不同,而不是任何代码。
有没有人处理过这种情况,可以在这里提供指导吗?
答案 0 :(得分:2)
我认为多配置工作将完美匹配您的情况。我不会帮助构建时间。唯一有帮助的是同时构建32位和64位版本。如果您的构建服务器不够强大,无法处理它,您可以获得另一台服务器并将其添加为Jenkins的从属服务器。然后分配32位配置以构建一个和64位配置以构建另一个。