【发布时间】:2014-03-30 05:17:09
【问题描述】:
目前我们正在运行一个 C#(基于 Sharepoint 构建)项目,并实施了一系列自动化流程来帮助交付,以下是详细信息。
- 持续集成。 DEV环境下频繁编译部署的典型CI系统。
- 部分包装。每周,都会确定伴随修复的缺陷列表,并从完整包中提取相应的程序集以形成部分包。部分包在后续环境中进行部署和测试。
在这个管道中,有两个包正在被验证。额外的努力用于为部分包建立一个新系统(网站、脚本、流程等)。然而,一些因素阻碍了它的改进。
- 构建和部署时间过长。在开发人员的机器上,对程序集的每一次修改都会在 IIS 中触发大约 5 到 10 分钟的重新部署。此外,重建整个解决方案需要 15 分钟(甚至更长时间)。 (这个项目最痛苦的部分)
- 地理差异。每个最终包裹都会被送到另一个办公室,因此手动操作是不可避免的,并且包裹尺寸最好小。
如果您能提出意见,推动持续交付实践向前发展,我将不胜感激。谢谢!
【问题讨论】:
-
(我建议将其移至programmers.stackexchange.com) - 几个澄清问题 - 解决方案的编译是否需要 15 分钟才能在开发人员机器上编译?还是在构建盒上?
-
在开发机器和构建盒上都需要 15 分钟。在我们 30 名成员的团队中,构建一个签到可能需要半个多小时。
-
你的第一步是尝试减少构建时间。你需要找到一种方法来阻止一切从头开始重新编译——只有那些已经改变的东西。也许您可以将代码分成可以编译、版本控制的不同模块,这样您就可以链接到二进制对象。也许更好的硬件会有所帮助。
标签: sharepoint continuous-integration package continuous-delivery