我将开始为我们的软件团队编写automated build/deploy script
,我不确定使用哪种脚本语言或工具。我总是渴望学习新东西,提高我在当前软件市场的价值,你建议用什么语言?
过去,我使用的是windows批处理文件,这些文件有点难以阅读和编写脚本。
以下是我的要求和环境中的几句话:
我想要脚本
感谢您的任何建议。可能是一个社区维基,因为没有明确的答案,不确定...
编辑:
找到了那些讨论,但它们有点老了,也许过时了:
How do you automate a Visual Studio build?
Best .NET build tool
答案 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团队在部署到生产环境之前对其进行认证。
最后,考虑一种新兴的部署自动化工具。 chef,puppet,ControlTier等工具可用于进一步控制基础架构配置的版本控制。