你如何跟踪你在生产中发布的内容?

时间:2010-05-06 13:10:52

标签: deployment release-management

生产中的部署不仅仅涉及源代码更新(构建),还需要许多其他重要任务,例如:

  1. Db脚本
  2. 配置文件(与test \ production不同)
  3. 批量安排
  4. 可执行文件移动到正确的路径
  5. 等。等
  6. 在我们公司,我们只是发送一封电子邮件到“发布电子邮件地址”,按顺序描述任务,需要发布哪个变更集(TFS),哪些SP需要更新,db脚本等等。

    我相信没有一个神奇的工具能够按顺序自动完成这些任务,包括回滚;但可能有比电子邮件更好的东西,有助于跟踪生产中的版本。

    您是否有任何建议或实践可以分享的工具?

3 个答案:

答案 0 :(得分:5)

当需要多个任务来支持完整的项目部署时(根据我的经验,情况经常如此),我建议使用构建/部署工具。我过去曾经使用Ant取得了巨大的成功,但也知道其他人,他们是由Capistrano,Maven和其他人发誓。

使用Ant,我编写了一个脚本:

  1. 从我的VCS中提取我想要的特定修订
  2. 在远程计算机上创建目标目录的tarball(如果需要回滚)
  3. 创建数据库的MySQL转储文件(也用于回滚)
  4. 删除远程目录并SSH刚从VCS中提取的新内容
  5. 执行各种其他后勤操作(设置文件权限,所有权等)
  6. 在VCS上创建发布分支
  7. 使用适当的版本信息创建标记,以便我在部署时始终拥有代码库的快照。
  8. 希望有所帮助。我写了一些关于这个可能(或可能不)有用的博客文章。它们现在已经过时了,但一般信息应该足够坚固。

答案 1 :(得分:1)

您可能对Team Foundation Build Recipes网站感兴趣,该网站展示了使用SDC任务库和MSBuildTasks

开发的一些构建脚本

答案 2 :(得分:0)

像SVN这样的东西怎么样?您可以将所有代码放在存储库中,然后当您准备好从生产中发布时,将您的所有内容从测试中解放出来。然后,您将获得非常具体的修订,并提供有关所发生情况的信息。 SVN会跟踪所有内容。