如何在不同的git repos中处理后端(laravel)和前端(angular)依赖项

时间:2015-05-06 10:42:58

标签: angularjs git laravel backend web-frontend

我们正在构建我们的第一个带有laravel和angularjs的webproject,并试图弄清楚如何设置我们的开发环境。我们目前的方法如下:

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

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

问题是:

  • 有没有办法自动化这种情况?
  • 是不是在两个不同的回购中分离laravel和angularjs的最佳方法?我们也想使用某种任务运行器(如gulp)来 build / package /最小化我们的前端文件(例如sass,less)。

1 个答案:

答案 0 :(得分:0)

这个答案只是实现这一目标的多种方法之一,并定义了一种最好的方法"非常相对。

1。创建分离的虚拟主机到不同的分支(dev,release,master ..)

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

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

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

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

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

3。建立分支模型

可能你有一个,但如果没有,你可以和你的同事一起定义一个分支模型,比如Vincent Driessen的旧版 Git branching model

一个关键方面是你允许你的开发人员(正面和背面)使用他们的更改而不影响其他人。

通常每个dev只会在经过一些测试后将其本地分支与上层合并(dev为dev,dev为release,释放为master),以避免意外的错误传播。

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