在多阶段开发环境中使用什么软件?

时间:2020-03-05 18:47:39  来源:igfitidea点击:

对我来说,一个多阶段的环境包含开发,测试,质量保证,客户审查阶段以及最终生产的环境。它应该允许开发人员之间的轻松协作,项目状态跟踪以及将应用程序轻松部署到特定版本的任何阶段。

我们可以针对特定的应用程序类型提出特定的工具,但是我认为这个问题已经足够笼统了。是否有任何现成的软件包可供使用?

解决方案

回答

对于同时开发/发布多个软件系统的大型企业,我认为我们可能需要一些不同的工具来管理所有这些。

在Microsoft环境中,TFS提供了协作式开发,源代码控制和开发任务管理(包括错误跟踪和解决方案,仅需少量定制)以及CI /自动构建。但是,在构建完成之后,它实际上对我们没有多大帮助,我们必须设置自己的质量检查工具和部署工具/协议。

回答

有一个名为Capistrano的工具。这是用Ruby编写的,可让我们完成所描述的事情。 Apache Maven也可能提供此功能,但我还没有使用它。

回答

我们可以使用任何有效的方法。

甚至是CVS(我从那里的经验谈起)

我们只需要使用SCMBug之类的SCM,就可以了。

SCMBug可与许多VCS解决方案一起使用。

回答

我们使用CruiseControl.NET将源代码控制签入自动推送到开发服务器。这使人们可以实时回归测试他们的更改。

然后,我们使用一系列脚本将生成的内容自动复制到其他环境。

例如:

  • 开发人员完成更改并签入源代码管理
  • CruiseControl会检测到更改并生成新代码,然后将其放入Dev。
  • 开发人员能够在反映生产的环境中测试更改。
  • 重复此操作,直到完成所有更改并测试为止。
  • 运行了将Dev复制到Test的脚本。
  • 开发人员现已冻结,而企业所有者在测试环境中处于UAT状态。如果发现缺陷,则将其修复在dev中,然后提升回Test。
  • 一旦UAT通过,将运行一个脚本,该脚本将内部版本复制到最终生产服务器场。
  • 此时,开发人员可以自由地将代码推回Dev,以进行下一轮工作。