在构建完成后,您使用什么来管理部署应用程序的工作流程?我不是在谈论在服务器上获取文件的行为,我在谈论之后会发生什么。验证,测试,批准,迁移到生产,淘汰旧版本等等。
示例:
那里有哪些好的应用程序可以管理长时间运行的构建工作流程?
更新
我还应该提一下,我正在寻找实际实现工作流程的工具,而不仅仅是跟踪它所处的状态。(复制构建,更改构建状态,发送电子邮件,启动/停止服务等)
答案 0 :(得分:3)
这个构建和发布系统是不同东西的混合,所以在你的列表后我会回复:
从现在开始,我们通过混合使用ant和bash脚本来完成它
我们发现更难的事情是重启我们的应用程序服务器,因为我们没有热门部署的良好经验,但只有maven,ant和bash才能实现。
答案 1 :(得分:2)
许多公司使用项目计划应用程序,如MS Project。
这是一个开源项目计划应用程序Open Workbench,您可能会发现它很有用。它有局限性,但我用它来管理我的日程安排。
答案 2 :(得分:2)
ThoughtWorks Go看起来很重要。我们目前使用Maven,但仍处于其功能的分支。
答案 3 :(得分:2)
我真的不明白为什么不能使用Ant(http://ant.apache.org)执行某些任务,每步一个。由于这些东西的时间是手动的,并且每个环境一次只能有一个软件副本,所以似乎没什么可做的,只是编写工作流程并让人们参与其中。
答案 4 :(得分:2)
如果您设法自动化测试(并且取决于您使用的软件类型,没有理由不这样做),您应该能够使用任何持续集成软件。
问题是,每个阶段都可以写下来作为可以一个接一个地执行的任务,具体取决于之前案例的结果。
例如,我有一个CruiseControl的设置,它完全按照你在这里描述的那样,测试阶段运行了一堆单元测试(c ++ / qt),而uat的东西是用可测试性驱动程序编写的。
答案 5 :(得分:2)
据我所知,没有一个系统会自动完成你提到的所有任务。您需要编写一些脚本和测试来自动部署系统及其测试。然后,您可以使用CI服务器将其组合在一起。这就是我的建议:
一旦您将这些内容自动化,您就可以使用持续集成服务器来安排这些任务或按需执行这些任务。我最熟悉Bamboo(我为Atlassian工作),但我确信CruiseControl和Hudson具有相似的功能。这是你在Bamboo中的表现:
然后,您可以执行相同操作并为生产部署设置构建,但可能只需手动触发并具有更多限制权限。
答案 6 :(得分:1)
我使用了一个名为Hudson的基于网络的开源工具,对此非常满意。它非常擅长管理构建,并且与SVN和ant有很好的集成。唯一需要注意的是,您需要在自己的服务器上托管它。
答案 7 :(得分:0)
我们使用这个名叫Alistair的威尔士老人。像魅力一样。