应用构建/部署工作流程

Rya*_*ldi 18 workflow build-process release-management

在构建完成后,您使用什么来管理部署应用程序的工作流程?我不是在谈论在服务器上获取文件的行为,我在谈论之后会发生什么.验证,测试,批准,迁移到生产,淘汰旧版本等.

例:

  1. 构建完成
  2. Build部署到测试环境
  3. 测试完成(手动步骤)
  4. 如果测试通过部署到UAT,则拒绝构建
  5. UAT完成(手动步骤)
  6. 如果UAT通过部署到Prod,则拒绝构建
  7. 以前在Prod中退役

有哪些好的应用程序可以管理长时间运行的构建工作流程?

更新

我还要提一下,我正在寻找实际实现工作流程的工具,而不仅仅是跟踪它所处的状态.(复制构建,更改构建状态,发送电子邮件,启动/停止服务等)

Eld*_*ell 3

这个构建和发布系统是不同东西的混合体,所以按照你的列表我会回应:

  1. 构建完成(使用 Maven 构建的 CruiseControl)
  2. 构建部署到测试环境(Ant 任务,从 CruiseControl 调用)
  3. 测试完成(手动步骤)(Maven 告诉你这一点)
  4. 如果测试通过,则部署到 UAT,否则拒绝构建(如果测试失败,Maven 将不会结束,不会调用 ant 部署程序)

从现在开始,我们几乎使用 ant 和 bash 脚本的混合来完成此任务

  1. UAT完成(手动步骤)
  2. 如果 UAT 通过部署到 Prod,否则拒绝构建
  3. 退役之前在 Prod 中的构建

我们发现更困难的事情是重新启动我们的应用程序服务器,因为我们没有良好的热部署经验,但仅使用 maven、ant 和 bash 就可以做到。