continuous-integration - 如何从"Arcane Integration" 迁移到 持续集成?

  显示原文与译文双语对照的内容
0 0

现在我正在从事的一个项目已经达到了一个复杂级别,它需要超过几个步骤( 其实它变得神秘了) 来生成一个完整的/可用的产品。 不幸的是,我们没有以一个持续集成的心态开始,所以你可以想象它有时会有点痛苦,而在其他情况下,我可以很容易地浪费一天的时间来获得干净的/测试的构建。

无论如何,作为一个庞大的项目,它包含许多不同语言的组件( 不仅仅是企业风格的Java或者 C# ),以及许多图形化和文本资源。 现在问题是,当我寻找连续的集成时,我总是发现最佳实践和技术,假设一个是从底层开始 new 项目。 然而,这不是一个 new 项目,所以我想知道什么是好的资源,可以从神秘的集成迁移到持续集成:)

提前致谢!

时间:原作者:5个回答

0 0

这里是两个简单的( 哈哈哈) 步骤。

  1. 可以重复构建的go:
    1. 使用源代码管理,获取所有代码。
    2. 建立和记录用于构建( 主要是哪个编译器版本)的所有工具。 具有可以重复部署并设置这些工具的进程。
    3. 建立和文档清楚地创建构建所需的资源,但不在( 第三方安装,服务包等) 中进行检查。 具有可以重复部署并为这些依赖项设置进程。
  2. 在commiting到源代码管理之前,开发者必须
    1. 更新他们的工作副本
    2. 成功构建
    3. 运行并通过自动化测试

这些步骤可以一次完成 1,类似于一个跟随的路径。 在每一个阶段你都会得到好处。 例如如果你根本不使用源代码管理,那么将代码放进源代码管理( 没有其他任何东西) 是一个很大的步骤。 同样,如果没有自动化测试,开发者就不能运行它们- 但是他们仍然可以得到之前的提交并让编译器检查他们的工作。

如果你能做到这一切,你会得到一个不错的理智的地方。

这些目标是可以重复构建流程和开发人员,它们被插入到如何影响构建和其他开发人员的更改中。

然后,你可以通过建立更高的合规性来获得奖励:

  • 开发人员建立一个频繁的提交习惯。 工作副本中的代码不得超过 1天。
  • 为check-ins自动化构建进程监控源代码管理,并将结果获取到用户可以接受它们的地方。
原作者:
0 0

吃掉大象( 一次咬伤一次) 一样;- 持续集成 需要自动构建。 从这开始,自动构建每一块。 Ant 或者NAnt是一个很好的方法。 每个组件的构造都是一个主要任务。 然后整个系统构建可以聚合那些单独的任务。

在那里,你可以添加部署任务,例如单元测试,如果你想使用CI技术,你可以将它连接到你的NAnt构建。

原作者:
0 0

首先,首先编写所有步骤,以便手动完成构建和测试。 之后你至少有一个指南,它是旧的方式,写下来的东西给你的机会,以一个完整的过程为一个完整的过程。

然后寻找要编写脚本的部分。

理想情况下,你希望触发一个构建并从代码提交中测试,只重新构建和重新测试已经更改的部分,可能是一个完整的构建和测试。 你需要日志文件或者数据库条目并报告构建成功或者缺少它。

你将需要搜索并评估pre-built产品和 open-source build-your-own工具包。 你当然可以编写所有的脚本和报告,但它会花费一个时间,你可能会遇到一个几乎不够好的报告系统,因为你的工作是编码产品,而不是编写构建系统。 :- )

原作者:
0 0

迁移并不是真正的option--Half-ass解决方案只会让它变得更糟。

我的方法是聘请一位懂得构建过程的创造性工程师,坐在他下面说"修复这里问题"。 给他一两个星期的时间。

最终目标将是一个进程,它开始以一个单一的来杯命令结束。

我也推荐一个自动化的"安装程序"过程,你只需在一个网络共享中执行一个签出并运行一个批处理文件来安装和构建所有的工具。 这将节省总体的时间,如果你引入新的程序员,这将是惊人的。 大多数项目都需要三天才能建立在一个新的computer--and上,这总是是"新建"程序员,他们不知道在自己的系统上做什么。

原作者:
0 0

简而言之:增量

选择一个可以跨不同项目范围工作的框架。

逐个将组件添加到框架中。

如果你不熟悉框架,请先处理几个简单的组件,以减少screwing的风险。

如果你理解了框架,那么先处理一些更困难和/或者通常构建的组件,这样你的团队( 和管理) 就会很好地享受早期的好处,并支持。

一定要有一个计划,包括组件,因为这是当将意识到的全部利益。

让你的团队与你一起;确保你已经同意了这一点,或者人们将不会作为组件的改变而保持它的价值。

原作者:
...