部署工作流程

4

我目前正在管理一个实时Web应用程序的开发。有两位开发人员。我们正在寻求定义工作流程,指定构建和部署的方式。

目前我们正在使用codebaseHQ进行源代码控制。

这是我的想法:

  1. Dev1和Dev2获取并提交更改到CodeBaseHQ上的单个存储库。
  2. 我们从codebaseHQ将更新推送到alpha.domain.com进行初步测试,该网站与生产数据库分离。
  3. 假设测试通过,在beta.domain.com上合并更改,该网站与生产数据库连接,以进行进一步测试。
  4. 假设这些测试通过,则合并到domain.com(生产环境)。

这听起来可以吗?这似乎对开发人员来说非常繁琐——他们必须为每个更改集进行两次测试/推送。如果我们每天都在推送更改,你会有什么建议吗?


你可以使用构建过程(ANT或Maven)来协助完成这项任务。使用ANT,你可以为部署到开发、阶段、生产等不同环境设置特定的目标,并配置每个环境的数据库连接。再加上运行单元测试或与CI集成的能力,这并不难。 - thescientist
2个回答

1
看起来对于开发人员来说是一个非常繁琐的流程 - 他们需要为每个变更测试/推送两次。
听起来您在推送或测试方面没有太多自动化。一旦您设置了一些自动化测试,您可以使用像Go这样的工具(完全透明:我在那里工作)定义不同的环境并model一个工作流,以便将推送到不同的环境中自动发生。很好,您每天都在进行变更推送,您可能会在连续交付book中找到许多相关的建议。

同意!自动化是必须的。Inedo的BuildMaster(http://inedo.com/buildmaster)是一个非常受欢迎的平台,可以帮助解决这个问题;有一个免费版本,可能可以满足您的需求。(免责声明:我在Inedo工作) - Karl Harnagy

0

我真的很讨厌通过推广源代码来推广产品功能的想法。我非常支持通过环境来推广构建(我想Bagheera也是这样,因为我们是竞争对手)。

获取一个“构建”,无论是编译还是打包,然后使用脚本或工具将该软件包在各个环境中推广。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接