【问题标题】:looking for scripting language for automated build & deploy寻找用于自动构建和部署的脚本语言
【发布时间】:2011-03-29 20:16:24
【问题描述】:

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

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

  • 在Win XP下使用Visual开发 工作室 2008 (C++)
  • 颠覆
  • 寻找易于学习和使用 脚本语言
  • 有 PHP & Ruby & C++ 编程经验

我想要脚本

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

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

编辑:

找到了这些讨论,但它们有点老,可能已经过时了:
How do you automate a Visual Studio build?
Best .NET build tool

【问题讨论】:

    标签: c++ build-automation


    【解决方案1】:

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

    我进一步建议您考虑将构建输出发布到存储库管理器,例如 Nexus、Artifactory 或 Archiva。通过这种方式,部署脚本可以检索先前构建的任何版本。使用存储库管理器将使您的 QA 团队能够在将发布部署到生产环境之前对其进行认证。

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

    【讨论】:

    • 我知道你不是在做 Java 开发。 Hudson 可以构建任何具有命令行的东西。像 Nexus 这样的存储库管理器可以存储非 Java 工件。最后,像 chef 和 puppet 这样的工具都是用 Ruby 编写的。
    【解决方案2】:

    有人简单地提到过,我喜欢 PERL 来处理这些事情。在我从事的一个绝对庞大的项目中,我们有 perl 脚本实际上运行了整个构建过程。它甚至基于消息传递模板构建类。很酷,这是一个可以启动的 Windows 项目。

    CPAN 提供了巨大的资源。

    HTH

    【讨论】:

    • Perl 和 PHP 很像,不是吗?
    • 我对 PHP 知之甚少,但我确实经常在同一个句子中听到 Perl、Python 和 PHP 的“三个 P”(我相信就是这些)。我认为那是 LAMP 堆栈中的“P”。
    • 我敢打赌,我使用的 python 系统比你的 perl 做得更多;)
    【解决方案3】:

    我会推荐使用 python 来完成这种通用脚本任务;这是一种相对容易学习且非常灵活的语言。

    特别是,您将使用subprocess 模块来调用您需要的所有外部程序;这使得捕获它们的输出和控制它们变得非常简单。

    【讨论】:

      【解决方案4】:

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

      编辑:我只是在浏览网站时偶然发现了这个question;见答案 FinalBuilder(我正在考虑试一试;不过你得付钱)

      【讨论】:

      • FinalBuilder 看起来很有趣,我会下载演示并尝试一下
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2010-09-08
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      相关资源
      最近更新 更多