4

我正在尝试登上Composer / Packagist火车,为此,我正在尝试了解管理我的工作流程的最佳方式,以便我可以使用我选择的框架和应用程序创建 composer 包,但如果我可以的话,该死的找出一种使用 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 机制,我可以随时更新该特定站点的框架,而不会真正损害我的应用程序,反之亦然。

由于这些包包含在“应用程序”文件夹的子文件夹中(因此我可以创建和测试它们),我如何将这些文件夹“包装”为包作为单独的存储库,以便我可以将它们作为独立的作曲家包提供在 github 或比特桶?我有点不知所措。

%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 子模块或 HG 嵌套存储库似乎并没有像我预期的那样工作。

我的工作流程是否存在严重缺陷,或者我需要更多的 Git 知识来完成这项工作?有没有更简单/更好的方法?如果我可以将 Framework/SiteApplicationCode/Packages 保留为单独的存储库,并且缺少一些我缺少的机制/逻辑,我将很高兴地重建我的结构/工作流程。

提前感谢您的任何帮助。

4

1 回答 1

1

%path%/sites/[framework]/application/[module] 应该是一个 git 存储库,您可以通过将其推送到某个公共(仅在您想要的情况下对您的公司公开)位置(例如 git.yourcompany.com )与他人共享。

然后,您可以在 satis.company.com 创建一个可访问的 satis composer 存储库,您将使用一个引用您的公共存储库的 json 文件对其进行初始化。确保首先为每个模块创建 composer.json 文件,以使它们可安装。

然后,使用每个应用程序的 composer.json 文件重新安装您的项目,这将获取所需版本的所需模块。它们将出现在 %path%/sites/[framework]/application/vendor/ 中,并且会生成一个自动加载文件。

如果你的代码可以在 github 上发布,你可以跳过 git+satis 部分,将你的模块提交到 packagist.org

我可能误解了你的结构,但我希望你明白

于 2012-10-19T14:42:04.727 回答