为自动构建和寻找脚本语言部署

时间:2010-08-14 13:03:43

标签: c++ build-automation

我将开始为我们的软件团队编写automated build/deploy script,我不确定使用哪种脚本语言或工具。我总是渴望学习新东西,提高我在当前软件市场的价值,你建议用什么语言? 过去,我使用的是windows批处理文件,这些文件有点难以阅读和编写脚本。

以下是我的要求和环境中的几句话:

  • 使用Visual在Win XP下开发 Studio 2008(C ++)
  • 颠覆
  • 寻找简单易学使用 脚本语言
  • PHP和PHP的编程经验Ruby& C ++

我想要脚本

  • 结帐
  • 清洁&建立许多项目
  • 检查错误是否冲洗并重复 直到没有错误或超时
  • 运行unittests并评估结果(文本解析)
  • 压缩一堆dll / exe并复制到 服务器
  • 尽可能煮一杯咖啡

感谢您的任何建议。可能是一个社区维基,因为没有明确的答案,不确定...

编辑:

找到了那些讨论,但它们有点老了,也许过时了:
How do you automate a Visual Studio build?
Best .NET build tool

4 个答案:

答案 0 :(得分:1)

我建议使用python进行这种通用脚本编写任务;它是一种相对容易学习的语言,非常灵活。

特别是,您可以使用subprocess模块调用所需的所有外部程序;它可以捕获输出并控制它们非常简单。

答案 1 :(得分:1)

我目前正在使用Apache Ant与MPC(自制的跨平台项目)结合使用我之前的一个工作组合后,尽管XML不太适合作为脚本语言。但是除了一杯咖啡,它可以做你名单上的所有事情。 MPC是用Perl编写的,它非常灵活,例如它允许您为VS项目指定postbuild和prebuild操作。

编辑:我只是在浏览网站,偶然发现了question;看到答案 FinalBuilder(我正在考虑尝试一下;但你必须付钱)

答案 2 :(得分:1)

简要提到过,我喜欢PERL这些东西。在我工作的绝对庞大的项目中,我们有perl脚本几乎运行整个构建过程。它甚至基于消息传递模板构建了类。这很酷,这是一个Windows项目启动。

CPAN提供了巨大的资源。

HTH

答案 3 :(得分:1)

我建议设置CI服务器(Hudson?)并使用它来控制所有部署到QA和生产服务器。这会强制您自动化部署的所有方面,并确保开发人员不会对系统进行临时重启。

我还建议您考虑将构建输出发布到Nexus,Artifactory或Archiva等存储库管理器。这样,部署脚本可以检索以前版本的任何版本。使用存储库管理器可以使您的QA团队在部署到生产环境之前对其进行认证。

最后,考虑一种新兴的部署自动化工具。 chefpuppetControlTier等工具可用于进一步控制基础架构配置的版本控制。