我是一名 Laravel 开发人员,致力于一些 Laravel 项目。我想知道是否有最好的方法来进行开发周期。在本例中,我将项目存储在版本控制系统(例如 Gitlab)中。我有 3 个神圣的分支,它们是:
除了神圣的分支之外,还有其他分支,例如功能和修补程序。我的部署工具是与 Jenkins 集成的Deployer。
例如我有 3 个功能和 3 个分支,就像这样
QA 在不克隆项目并在自己的本地计算机上更改分支的情况下进行测试的最佳方法是什么?我想到的是,将 git 分支与服务器虚拟主机集成,以便每个分支都有自己的子域,我知道这些子域当前不可用,并且可能存在一些安全问题。另一件事是手动为每个分支创建 Jenkins 和 Deployer 实例,这确实需要很大的努力。也许你们还有其他建议吗?
QA之所以要在功能测试上进行测试,我个人认为,是因为功能完成后,不知何故与需求确实不一样。开发人员可以销毁该分支并重新制作该功能,而不会污染神圣的分支。还有一个原因,以便我们可以采取现在和以后发布什么功能。
听起来您可以从临时环境中受益,该环境通常完全用于您正在寻找的目的。根据我的经验,应用程序往往适用于几种环境:
新功能通常在自己的分支中开发,然后将被转移到开发分支(可能在某种同行评审之后)。每当新功能的子集准备好进行测试时,开发分支就可以转移到暂存阶段。当然,此过程中包含许多个人喜好,因此请随意修改您认为适合您的情况的任何内容。阅读舞台环境可能会给您带来所需的灵感。
最后,在处理源代码控制时(如果做得正确),不需要像您这样的“备份”分支,因为任何提交都可以恢复。