在为项目构建一个软件包之后,我们意识到按照Laravel 5 package development clarity
执行我们需要实现的内容存在一些问题也许我应该解释一下我的目标,有人可以提出一个指示。
我们已经构建了一个Laravel 5应用程序,现在需要“重复使用”。
我们必须修改Laravel并实现一个Eloquent类型的基本模型,因为我们的数据源实际上是C#Web服务。在调用数据库时,我们会拦截它并对SOAP进行“API”调用。
主要区别在于CSS,也许是一些JS&内容,但所有项目中的所有路线/控制器/模型将保持不变。大多数配置来自端点。
最初我们考虑为每个网站的样式创建多个资产存储库,并有一个基础仓库,这是包含的核心Laravel项目。这似乎变得非常复杂,因为我们不能仅仅因为分支和多个目录问题而在回购中拥有回购。
然后我们开始尝试将“核心”构建为Laravel包,但我们似乎经常遇到障碍。最新的问题包括包中的模型。对于要调用的模型,我们使用根项目config / composer来访问这些模型,而不仅仅是服务提供者。感觉包正在变得与项目配置紧密耦合。
有没有更好的方法来实现我们想要实现的目标?
编辑:
我忘记了1个回购中的多分支解决方案,但在功能开发方面难道不会变得难看吗?例如:
master (core with releases that get pulled into _site*)
dev (master dev)
feedback-form (eg. master branch feature)
_site1 (root site with releases)
_site1-dev (_site1 dev)
_site1-reskin (eg. _site1 feature)
_site2 (root site with releases)
_site3 (root site with releases)
这在开发人员手中留下了相当多的破坏性合并能力?带拉取请求的读取权限可能是解决方案吗?
答案 0 :(得分:0)
所以在一些R& D之后,现在看来最好的解决方案是拥有1个具有多个分支的回购。开发人员具有读取权限,并让每个开发人员创建自己的分支。开发人员通过“上游”远程创建拉取请求并同步到父仓库,开发人员通过其他远程控制器同步彼此分叉。
似乎有点笨拙,但可能是“最干净”的选择。