连续体寻找依赖关系并构建链依赖项目
我是一家 IT 公司的配置经理。 目前,我们正在使用 Anthill 构建管理服务器来实现所有与构建相关的目的。 我们希望在我们的开发生命周期中实施持续集成。
目前构建过程是手动完成的。 假设有 5 个项目 A、B、C、D、E,E 是父项目,依赖链是这样的: A->B->C->D->E
我们所做的是构建 A,首先将 B 的 project.xml
更新为 A 的最新版本,构建 B 依此类推,依此类推,直到所有依赖项目都构建完成,最后父项目构建完成。
我的想法是自动化整个过程,即自动查找依赖项并首先构建它们,然后更新父项目的版本并再次将它们构建到较新的版本。
Continum 会为我做这个吗? 如果没有,还有其他 CI 工具可以做到这一点吗?
I am the Configuration manager for an IT firm. Currently we are using anthill build management server for all our build related purposes. We are looking to implement Continuous Integration in our development life cycle.
Currently the building process is done manually. Suppose there are 5 projects A,B,C,D,E and E is the parent project and the dependency chain does like this:
A->B->C->D->E
What we do is we build A first update project.xml
of B to the latest version of A, build B so on and so forth untill all dependent projects get built and finally parent project gets built.
What I am thinking is automating the entire process i.e. automatically finding out dependencies and building them first and then updating the version of parent projects and building them again to a newer version.
Would continuum do this for me? If not is here any other CI tool that does this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Hudson 做得非常好,如果你使用 Maven,它甚至会自动找出构建依赖项第一次构建后自动为您提供,否则您可以手动定义构建依赖项。 即,它允许您配置系统以在成功构建项目 A 后构建项目 B。
我不确定这对你是否重要,但 Hudson 也是开源的。
Hudson does this really well, if you're using Maven, it'll even automatically figure out the build dependencies for you automatically after the first build, otherwise you can manually define the build dependencies. I.e., it lets you configure the system to build project B after a successful project A build.
I'm not sure if it matters to you, but Hudson is also open source.
我喜欢 TeamCity,它几乎可以满足您所需的一切。 最新版本(以及 JetBrains 的插件)甚至还支持 Git。
另一方面,任何持续集成系统都应该轻松处理依赖关系。
I like TeamCity, which does pretty much everything you'll need. With the latest version (and a plugin from JetBrains), there's even Git support.
On the other hand, any continuous integration system should handle dependencies easily.
我们使用 Zed Builds and Bugs 进行与此类似的设置。 我们有一个具有子项目依赖项的主项目,并且构建系统以正确的顺序处理所有内容。
我们还为子项目提供了非常小、紧密的构建,以便当开发人员致力于源代码控制时可以构建每个子项目。 Zed 服务器能够从这些小型构建中提取最新的工件,并将它们组合成更大的构建,但我们尚未使用该功能。
我们的签入会触发小型 CI 构建,然后每天两次,整个应用程序会按照依赖关系链从头开始重新构建。
不过,我同意 OregonGhost 的观点,任何 CI 系统都应该能够建立这种类型的链。
We use Zed Builds and Bugs for a setup similar to this. We have a master project that has sub-project dependencies and the build system handles everything in the proper order.
We also have very small, tight builds for the sub-projects so that each of them can be built when the developers commit to source control. The Zed Server is capable of pulling the latest artifacts from these small builds and putting them together into larger builds, but we haven't yet used that feature.
Our check-ins trigger the small CI builds, and then twice per day the entire application is re-built from scratch, following the dependency chain.
I'd agree with OregonGhost, though, any CI system should be able to set up this type of chain.
我认为您不需要 CI 工具来完成此任务。 尝试使用构建脚本自动执行此操作,并使用 Continuum(或任何其他 CI 工具)来触发您首选的构建工具。
I don't think you need a CI tool for this. Try to automate this using a buildscript and use Continuum (or any other CI tool) to trigger your preferred buildtool.