2014-02-28 180 views
0

我们使用的是作曲家,SATIS和SVN来管理我们的内部PHP库。 我们在开发过程中对SVN主干进行了更改,然后在准备测试时标记版本(遵循语义版本控制)。 对库版本进行标记后,我们可以使用作曲者作为部署到测试环境的一部分。在成功测试之后,我们会将该版本部署到生产环境中。作曲家和SATIS代码以进行测试和督促

这里的问题是,一旦我们已经标记为测试版本,我们必须非常小心,因为新版本标记将被作曲家准备下一督促发行时有所回升。

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

这可以实现吗?

回答

0

从你说的话,我知道你其实害怕标记库的新版本,因为该代码实际上可以使用,打破其他应用程序,对不对?

一个办法是做好测试。我没有看到它应该是一个问题来标记一个图书馆的版本。如果测试全部是绿色的,应该没有理由不标记它。即使测试基本上只是“让我们看看它是否有效,手动”,这也是可行的。

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

我想这可能是一个好主意,有一个单独的区域,您检查出应用程序,故意运行composer update来获取所有最新的库,运行所有测试并报告a)有更新和b)它们工作。那么开发人员应该确认更新,即手工做一遍,并承诺所产生的composer.lock文件,或抓住从该更新测试所得锁定文件。

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