【问题标题】:composer and satis tags for testing and prod用于测试和生产的作曲家和满足标签
【发布时间】:2014-03-08 05:00:44
【问题描述】:

我们正在使用 composer、satis 和 SVN 来管理我们内部的 PHP 库。 我们在开发过程中提交对 SVN 主干的更改,然后在它们准备好进行测试时标记版本(遵循语义版本控制)。 一旦库版本被标记,我们可以使用 composer 作为我们部署到测试环境的一部分。在成功测试之后,我们会将相同的版本部署到生产环境中。

这里的问题是,一旦我们标记了一个版本进行测试,我们必须非常小心,因为作曲家在准备下一个产品版本时会选择新标记的版本。

我的设想是,我们将一个版本标记为 beta 或 RC(例如 v1.1RC1)并以某种方式配置我们的部署过程,使其拒绝将 RC 或 beta 部署到生产中。如果某个版本测试成功,我们会将该版本重新标记为已发布版本(v1.1RC1 -> v1.1)并发布。

这可以实现吗?

【问题讨论】:

    标签: composer-php satis


    【解决方案1】:

    根据您的说法,我了解到您实际上害怕标记库的新版本,因为该代码实际上可能会被使用并破坏其他应用程序,对吗?

    一种方法是进行良好的测试。我认为标记库的版本应该不是问题。如果测试都是绿色的,那么应该没有理由不标记它。即使测试基本上只是“让我们手动看看它是否有效”,这也会起作用。

    现在第二步是将新版本集成到应用程序中:运行composer update 并查看应用程序是否仍在运行,即启动所有测试并等待绿色。

    我想有一个单独的区域来检查应用程序可能是个好主意,故意运行composer update 以获取所有最新的库,运行所有测试并报告 a) 有更新和 b)他们工作。然后,开发人员应确认更新,即再次手动执行并提交生成的 composer.lock 文件,或从该更新测试中获取生成的锁定文件。

    我认为使用非生产版本没有任何好处。无论如何,您必须处理下一个版本 - 不断切换最低稳定性设置或在库的版本要求中添加 @RC@beta 标志并没有真正的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      相关资源
      最近更新 更多