0

我有一个名为my-appheroku 的应用程序。

我将其转换为具有两个阶段(staging 和 prod)的管道。我不想使用 GitHub 集成。

my-app现在正在生产中。

我正在使用 GitLab(它是免费的)并将my-apprepo 分叉到一个名为feature-a.

我想将此分叉添加到管道的暂存阶段。我希望能够在推广到生产之前在这个阶段测试代码。

当我将来自 fork(或合并)的应用程序添加到管道时,Heroku CLI 告诉我该应用程序已经在管道中,这是真的,因为一个版本已经在生产中。

我的问题:

  • 如何my-app将同一应用程序的不同版本添加到管道的暂存阶段?
  • 阶段是否可以有不同的环境变量(例如,staging 将具有 dev 键和 id,而生产将具有 prod 键和 id)?
4

2 回答 2

0

我搜索的内容与您询问的内容完全相同,在 Google 搜索结果中,我在 Heroku 文档中看到了一个名为“管理应用程序的多个环境”的主题的链接。

据我了解,您需要相同的存储库,仅在一个 heroku 应用程序中,但每个版本都在不同的阶段。

好吧,文档没有接近这种管理,我们可以理解这是不可能的。

但它接近另一种管理方式,您可能在同一个存储库中有许多分支,并且每个分支都链接到不同的应用程序(我认为这是真正的问题)。

阅读以下文档:https ://devcenter.heroku.com/articles/multiple-environments

这种方法从企业的角度来看更有意义,因为在软件开发成熟度很高的公司中,您不会直接在 Master 分支上进行任何更改(任何错误都可能成为巨大的错误) .

因此,如果您不使用 GitHub 集成来解决此问题,您可以做的是:为您的开发分支创建一个特定的应用程序,为您的暂存应用程序创建一个应用程序,并为您的生产(主)分支创建另一个应用程序。

你单独部署它,在你的测试之后,你将你的代码合并到另一个分支并部署它。

希望我对你有所帮助!

于 2018-06-15T05:58:39.917 回答
0

如何将同一应用程序的不同版本添加到我的应用程序管道的暂存阶段?

如果您想将同一应用程序的分支添加到您的管道,您可以手动创建一个新应用程序,将其添加到您的管道,然后将您的feature-a分支部署到该应用程序以进行比较。

阶段是否可以有不同的环境变量(例如,staging 将具有 dev 键和 id,而生产将具有 prod 键和 id)?

环境变量是特定于应用程序的,因此您可以为应用程序指定不同的不同键,而不管它们位于哪个管道通道中。

于 2017-11-09T20:41:16.350 回答