首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Laravel,Composer和SVN一起工作

如何让Laravel,Composer和SVN一起工作
EN

Stack Overflow用户
提问于 2013-10-15 16:14:17
回答 1查看 2.9K关注 0票数 1

我对Laravel 4和作曲家如何与SVN合作感到非常沮丧。也许有什么东西我忽略了。

我的工作流程包括本地开发,然后上传到DEV服务器,我们使用豆茎(http://beanstalkapp.com/)作为我们的在线版本控制和部署系统。当更新准备好测试时,我们将部署到一个临时服务器,然后通过单击部署最终部署到集群中的服务器。

然而,几乎我读到的每一篇文章都说要忽略供应商目录和其他几个文件。我不能这样做,这些文件需要提交才能被部署到生产中!当我安装或更新当前供应商packages在安装包/依赖项时删除整个目录时,就会出现问题,因为它删除了.svn数据并破坏了我的环境。

唯一的方法似乎是在更新composer之前破坏供应商目录,然后再添加供应商目录。我不喜欢这样做,我希望我能看到更新过程中更新的文件。

所以我的问题是:

1)我的设置有什么问题?

2)要让SVN和作曲家/Laravel一起演奏,我能做些什么?

EN

回答 1

Stack Overflow用户

发布于 2013-10-15 19:16:35

我也经历过类似的情况。

我们的部署使得有必要提交供应商目录。实际上,这很好,因为与由锁文件引导的新composer install相比,结果不应该不同。

最初,我编写了一个脚本,负责编写器更新:

  • 删除/vendor
  • 运行composer update
  • 然后递归遍历所有子目录并删除源存储库的任何剩余部分(这可以归结为删除一些.git目录,因为我的依赖项都来自GIT --但递归删除所有.svn目录是一样的)。
  • 之后,将供应商目录添加到SVN中。
  • 把一切都交出来

如果脚本运行良好(我对它使用了phing,这对于递归删除来说特别好),您只需调用它,等待一段时间,然后完成。

但这不会让您感到高兴,而且有一天,您会采取步骤来实际调整部署的工作方式。我认为有两种可能的方法:要么创建一个可部署的工件(查看源代码、安装依赖项、将其全部放在TGZ或ZIP中、移动到目标服务器、解压缩),要么在部署过程中使用钩子来安装部署时的依赖项。Bean秸秆在部署过程中似乎支持钩子,因此您应该对此进行调查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19386074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档