我正在尝试使用Composer / Packagist列车,为此,我正在努力了解管理工作流程的最佳方式,以便我可以创建作曲家的pacakges我的选择和应用框架,但如果我可以用Git / Github或Hg / BitBucket(或两者)来解决这个问题,那该死的。
当前结构/工作流程
%path%/sites/[framework]
- contains up to date framework git repo
%path%/sites/[framework]/application
- contains app specific code and is a bitbucket repo
*%path%/www/[appname]_public
- contains public files and is a bitbucket repo i.e. "public_html" folder
使用正确的别名,这适用于我当前的网站(每个网站是“/ sites”中的单独文件夹)。由于我使用了两个独立的repo机制,我可以随时更新该特定站点的框架,而不会真正伤害我的应用程序,反之亦然。
由于包被包含在“application”文件夹的子文件夹中(所以我可以创建并测试它们),如何将这些文件夹“包装”为包作为单独的repos,以便我可以将它们作为独立的composer包提供在github或bitbucket?我有点不知所措。
%path%/sites/[framework]/application/[module]
- contains controllers, models, views, etc... to be wrapped up as a composer
"package" and made available on github or bitbucket as its own repo.
也许这里有人可以帮我解决这个问题,或者如何设置它,因为我无法理解如何去做。可能吗?我是在考虑这个问题吗?
也许我的整个思维方式都是错误的。在我现有的结构中,我试图完成任务,但是Git Submodules或HG嵌套的repos似乎没有按照我预期的方式工作。
我的工作流程是否存在严重缺陷,或者我是否需要更多Git知识来完成此任务?有更简单/更好的方法吗?如果我可以将Framework / SiteApplicationCode / Packages作为单独的repos与我缺少的一些机制/逻辑保持一致,我将很乐意重建我的结构/工作流。
提前感谢您的任何帮助。
答案 0 :(得分:1)
%path%/ sites / [framework] / application / [module]应该是一个git存储库,您可以通过将其推送到某些公共场所(仅在您需要时公开到公司)位置与他人共享,例如git.yourcompany .com。
然后,您可以创建一个在satisf.company.com上可访问的令人满意的编写器存储库,您将使用引用您的公共存储库的json文件进行初始化。确保首先为每个模块创建一个composer.json文件,以使它们可以进行组合器安装。
然后,使用每个应用程序的composer.json文件重新安装项目,该文件将获取所需版本的所需模块。 它们将出现在%path%/ sites / [framework] / application / vendor /中,并且将生成自动加载文件。
如果你的代码可以在github上发布,你可以跳过git + satisf部分并将你的模块提交到packagist.org
我可能误解了你的结构,但我希望你明白这个想法