3

我正在开发一个 API。我们有 3 个环境。开发(非本地设置)、暂存和生产。

像往常一样,我们在 Dev 上开发一切。完成后,将其推送到登台,在那里进行测试,然后再推送到生产环境。

通过这种方式在 Beantalk 上设置部署:

 Dev  (Auto Deploy to the server)
 Staging (Manual Deploy)
 Prod (Manual Deploy)

当我们发布 API V1.0 的第一个版本时。一切都与 SVN 修订号同步。假设所有 3 个环境的修订号为 1000,部署到所有 3 个服务器上。

现在我一直在修复开发环境中的错误。所以现在部署到 Dev 上的修订号是 1200。公司不想将所有这些更改推送到登台和生产。

现在他们想出了紧急的错误。他们只希望将这些错误推送到暂存和生产,而不是我修复并已部署到开发的错误。

在发布 v1.0 之后,我创建了一个标签并复制了所有文件。所以现在我从那个标签中创建了一个分支,将文件签出到我的本地系统并开始修复这个分支上的错误(不确定这是否是正确的做法)。

但是,当我提交更改时,这些更改会自动部署在开发人员上。现在开发人员的修订号是 1201(它是 1200,我之前所做的所有修复,但没有部署到 Staging 和 Prod)。

现在,修订号部署如下所示:

  Dev (1201)
  Staging (1000)
  Prod (1000)

我希望将最新的修复程序部署到 Staging 和 Prod。当我选择 1201 部署到 Staging 和 Prod 时,我猜它会部署从 1001 到 1201 的所有修订版。不仅仅是 1201。

你知道如何处理这个问题吗?有没有更好的做法?

4

0 回答 0