构建工具评估报告

时间:2009-08-12 11:01:35

标签: build-process continuous-integration build-automation

目前正在评估构建工具/框架。我需要仔细记录我的发现并将其提交给项目进行审议。

我无法想出一个覆盖这种工具的所有重点的好方法。有谁知道任何涵盖这个主题的好网站? (不必专门用于构建工具 - 工具评估的一般大纲就足够了,我可以根据自己的需要定制它)

如果你能分享一些技巧会很棒 - 我的演讲技巧很糟糕:-(我想学会正确地做到这一点。

提前谢谢!

1 个答案:

答案 0 :(得分:3)

构建工具将帮助您自动化和集成与将软件组合在一起相关的任务。此任务的重要性可能会有所不同,具体取决于它们的设计环境。我们可以概括这些环境:

  • 开发 - 每个开发人员应该(至少)有一个开发环境,它应该是独立的,因此您应该能够使用没有Internet访问权限的笔记本电脑来成功执行大多数开发任务。构建工具可确保轻松设置开发环境。
  • 集成 - 应该只有一个集成,在其上执行由不同团队创建的与不同组件的集成。一切都应该在这里自动化,构建工具可以保证这一点。
  • test - 可以有各种不同角色的测试环境,由(真实的)人类执行测试。构建工具有助于设置测试环境。
  • 生产 - 在不同的州,可能有许多不同的版本。构建工具有助于管理不同的版本 - 操作任务。

所有环境都可以使用所有任务,例如,您可以在每个环境中进行部署。

<强>开发

这些任务对于开发人员非常重要。

  • clean - 清理开发环境
  • fetch - 从SCM获取最新资源
  • validate - 验证不同的软件组件和配置完整性
  • compile - 编译可编译代码
  • test - 执行单元测试,回归测试和其他测试
  • 启动/停止服务器 - 应使用简单的命令轻松控制所有服务器
  • 生成ide文件 - 准备各种ide项目文件

<强>集成

这些任务对于开发人员,项目经理,技术作家,QA非常重要。

  • build - 使用新版本创建新的(每晚)版本
  • package - 创建软件包
  • 生成文档 - 生成api文档,规范
  • 生成可交付成果 - 生成所有可交付成果 - 源存档等
  • report - 生成各种测试,质量,变更报告
  • deliver - 将可交付成果放在开放的位置,软件存储库
  • deploy - 在集成计算机上部署所有工件 - 应该自我测试完整性,从而执行集成

<强>测试

这些任务对于:项目经理,(功能)测试人员,管理员非常重要。

  • 生成测试数据 - 这可能是从生产环境带来的模拟数据或实际数据。

<强>生产

这些任务对于:管理员非常重要。

  • 升级/更新 - 应自动完成对较新版本的更新,例如架构和数据升级
  • rollback - 执行回滚到以前的版本

您的演示文稿:

  • 选择常见的构建任务(5到10),上面的列表应该有所帮助。
  • 描述为什么每个对所涉及的各方都很重要:每个任务都有一张幻灯片。
  • 根据与您的工作环境和受欢迎程度的相关性,选择构建工具(大约5个)。
  • 描述如何实现所选任务,以及这些工具如何与现有语言和工具集成:每个构建工具1张幻灯片。
  • 所以你会有10-15张幻灯片。

此处提供更多信息: