3

我们正在使用 laravel 和 angularjs 构建我们的第一个 web 项目,并试图弄清楚如何设置我们的开发环境。我们当前的方法如下所示:

  • 具有 laravel 文件结构的后端 git repo
  • 带有angularjs文件结构的前端git repo

所以我们中的一些人可以在后端/前端工作,而不需要弄乱前端/后端文件。现在,如果后端 repo 上有一个新版本,例如 dev 分支并且我正在前端工作,我希望前端 repo 自动从 git 服务器中提取这个新的后端版本并将其复制到开发环境中开发人员(在他的工作站上)。这应该保证我们可以在前端开发中使用最新的 api 路由。

问题是:

  • 有没有办法自动化这个场景?
  • 在两个不同的存储库中分离 laravel 和 angularjs 是否是最好的方法?我们还想使用某种任务运行器(例如 gulp)来构建/打包/最小化我们的前端文件(例如 sass、less)。
4

1 回答 1

0

这个答案只是实现这一目标的众多方法之一,并且定义“最佳方法”是相对的。

1.为不同的分支(dev、release、master..)创建分离的虚拟主机

在您的 Apache 或 Nginx 中,为不同的分支创建不同的主机名,并在每个根目录(如public_html)中提取特定的分支。

这样,您就可以让您的前端开发人员在不影响其他开发人员的情况下测试多个分支。

2.创建一个cron作业git pull定期执行

这不是一个优化的选项,但它很简单。自动拉动存在许多复杂的解决方案(如这里这里),但正如我所说,它们很复杂。

您可以为您的 cron 作业定义一个极短的时间(如 5 或 10 分钟),因为当您拉取并且没有更新时没有问题。

3.建立分支模型

可能您有一个,但如果没有,请与您的同事一起定义一个分支模型,例如 Vincent Driessen 的古老但黄金的Git 分支模型

一个关键方面是您允许您的开发人员(包括前台和后台)在不影响其他人的情况下处理他们的更改。

通常每个 dev 只会在经过一些测试(本地到 dev,dev 到 release,release 到 master)之后将其本地分支与上层合并,避免不希望的错误传播。

这样,每个人都可以测试自己的代码,包括前端开发人员使用后端虚拟主机之一来完成测试。

于 2015-05-29T00:08:01.223 回答