我为建筑流程自动化和不断整合工作投入了相当新的空间,并正在为小型开发商建立建筑流程/服务器。 我们正在使用SVN、CMake和Jenkins建造服务器。 资料来源:C++。
让我们说,我们有两个项目:library
(a dll)和executable
。 与<代码>library的链接,以便建立<代码>可执行 页: 1 接着,为了操作<条码>可执行<>条码>,您需要<条码>(并且可能还有条形符号)>。
在整件材料建设过程中,你从存放处获得最新来源,并建造<编码>library,然后建立<编码>可执行<>。
然而,我们有多个开发商,每个开发商通常在某个时候从事一个项目。 我们的CMake文字使你能够选择哪些项目来建设,例如<代码>。 www.un.org/chinese/ga/president 放弃不是一种选择。
因此,如果<代码>Bob对library
进行修改,并投入源头,John
将需要获得汇编的校正和校正文档(因为没有编辑<编码>library)。
如今,双双双手都在 s。 在每次汇编中,作为预选步骤的CMake份数(将适当的双倍数列入<代码>build/bin至,然后将任何项目汇编成册(将适当的双倍数贴在
build/bin
上),最后一份CMake份(build/bin
至>>>。
This means that when Bob
makes a change, he commits not only the source files but the compiled binary as well, and when John
updated his working copy he gets the appropriate binaries, and doesn t have to do any manual file replacement.
当时一直在努力,但出于几个原因,我确实不喜欢。 难道没有哪一种 ha淡的方式来做这样的事情? (实际上有4个开发商,约有12个项目,有些是图书馆,没有任何东西依赖,有些是依靠其他图书馆的图书馆,有些是依靠其他图书馆的迫害者。)
Edit: This is the process I m thinking of:
Use an artifact tracking system such as Artifactory or Nexus to store binaries after build, along with the header files used to generate those binaries
在CMake,每个项目都有汇编或预编。 汇编的项目由定期存放处生成。 预先设计的项目双筒和头盔如果过期,则从Nexus下载,而CMake链接则适当包括。 我在Dave Bacher的回答中描述的种族状况,也使领导人掌握了手工艺。
The only thing I don t like is that I ll have to do some CMake-foo to check if the artifacts are out of date and download them, but I guess there isn t really an alternative since apparently what I m trying to set up is so nonstandard.