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

sys*_*out 4 deployment release-management

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

  1. Db脚本
  2. 配置文件(来自test\production的不同)
  3. 批量安排
  4. 可执行文件移动到正确的路径
  5. 等等

在我们公司,我们只是发送一封电子邮件到"发布电子邮件地址",按顺序描述任务,需要发布哪个变更集(TFS),哪些SP需要更新,db脚本等等.

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

你有任何建议或实践分享的工具吗?

Rob*_*son 5

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

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

  1. 从我的VCS中提取我想要的特定修订版
  2. 在远程计算机上创建目标目录的tarball(如果需要回滚)
  3. 创建数据库的MySQL转储文件(也用于回滚目的)
  4. 删除远程目录并SSH刚刚从VCS中提取的新内容
  5. 执行各种其他后勤操作(设置文件烫发,所有权等)
  6. 在VCS上创建一个发布分支
  7. 使用适当的版本信息创建标记,以便在部署时始终拥有代码库的快照.

希望有所帮助.我写了一些关于这个可能(或可能不)有用的博客文章.他们现在已经过时了,但一般信息仍应足够坚实.