2017-02-16 49 views
0

我了解如何在将代码部署到生产环境之前,将代码创建并部署到Heroku上的临时环境。我知道很高兴看到代码是否会在与生产环境非常相似的环境中“爆炸”。Heroku分段程序有什么功能?

但是,我找不出任何切实的方法或机制来确定应用程序是否在临时环境中损坏。

换句话说,我不明白在分段环境中运行的应用程序应该如何让我有信心将我的应用程序部署到生产环境。

因此我的问题:

  1. 没有对在Heroku临时环境做些什么额外的步骤?
  2. 集成测试是否应该在分段环境中运行?
  3. 如果我注意到应用程序在分段环境中运行,是否足够好?

回答

0

临时环境仅用于此目的 - 阶段或“预演”应用程序版本,然后将其提升为生产。

Heroku管道使您能够在尽可能与生产应用程序完全相同的环境中部署临时应用程序,以减少“但它在我的开发环境中工作”的问题。

你在分级环境中对你的应用程序做什么取决于你。您可以考虑使用各种仿真工具来模拟将访问您的产品应用程序的实时用户。您可能需要对生产应用程序的数据执行迁移,因此您可以先在登台应用程序中运行它们。您可以让测试人员与您的舞台应用程序一起工作,以在促进制作之前验证所有工作是否符合预期。

底线:无论您使用您的制作应用程序做什么,您都应该可以使用您的舞台应用程序。因此,您应该努力实现部署流程,在将版本推广到生产之前,无论生产环境出现什么情况,都应首先在分期中进行测试。你如何实现这一点取决于你。

0

Heroku上的临时环境还有哪些额外的步骤?

  1. 视觉上捕捉任何破CSS + HTML(这是与目前正在测试工具非常艰巨的任务)
  2. 你可能在你的团队的其他成员(SEO专家,营销经理等),这要检查文本,元标记等。有一个分段环境将使他们的生活更容易,因为他们可以导航和探测,提出改进,等等。
  3. 在您的开发机器中,您和其他团队成员可能与您运行的环境不同(不同的数据库操作系统版本和第三方服务(.ie Elasticsearch,Redis等),仅举几例。
  4. 您想测试部署本身(您可能有一系列在部署过程中触发的任务)

    临时环境尽可能接近您的生产环境的好处和优点列表.. 。

集成测试是否应该在分段环境中运行?

通常情况下,您在CI服务器(而不是分期)中运行自动化测试。舞台只是在那里进行视觉测试,也许捕捉到您的测试场景尚未覆盖的错误

如果我注意到应用程序在临时环境中运行,是否足够好?

够好,很难说(暂存环境可能不是你的生产环境完美复制),但如果它是行之有效的,它应该是非常接近你希望看到在生产

运行的是什么
+0

我明白你在说什么,但看起来分段环境对手动测试很有帮助。 在持续交付环境中,暂存环境对于自动部署到生产中无能为力,不是吗?我可以在暂存环境中设置某种自动验证,如果成功,会触发生产部署? – daspr2

+0

你会冒着去CSS的生产破碎例如?这可能不会出现在您的测试中,但对最终用户产生巨大影响 – Codextremist

+0

当然不是。那么,是否有办法在分级环境中自动测试一些东西来解决各种问题一个破碎的CSS文件? – daspr2