编辑:我在这里想要实现的目标可以通过Yeoman项目来完成。
因此,我在专用服务器上设置了git + composer + satis,一切正常,我对此非常热心。爱他们所有人。
我将git用于项目和私有软件包,因此现在基本的工作流程如下所示:
git clone git@myserver:the-project-name
composer install
这将克隆项目存储库,并安装所需的依赖项。极好的。
但我也希望能够使用一些“骨架存储库”,并将它们的内容复制到我的项目中,以保留依赖项信息。
举个例子:
很好,但是有一个问题:我有不同的依赖项-不同的composer.json文件。-对于fb-bootstrap和api-bootstrap仓库,所以我需要找到一种安装所有它们的方法。
请注意,我不会为此使用composer,因为除了自动加载的php类之外,我无法将任何东西放置在vendor /文件夹中,因为访问仅限于该文件夹。
取消该限制也不能解决问题,因为如果以后添加依赖项,然后调用composer update
,我可能会丢失在引导文件夹中所做的更改。
由于上述原因,上面的子模块和“仅复制文件” hack并没有完全消除它。
概括:
我需要一个解决方案,其中可以包含所需的任意数量的引导存储库,完成后,我必须能够安装所有依赖项。
像这样:
有没有办法做到这一点?
另外:如果您认为我以完全错误的方式解决此问题,请随时告诉我。无论如何,我都在适应新技术,我不害怕改变。:)
任何评论表示赞赏。
同时,我或多或少地解决了这个问题。
首先,我放弃了使一切完全自动化的想法。
组合不同的引导存储库存在太多问题。真的会发生任何事情。
我仍然想实现自动化的一件事是合并引导存储库的不同依赖项。
因此,在进行了eseese更改之后,我想出了一个非常简单的脚本,其用法如下所示:(请注意,gitcopy是我在linux环境中使用的脚本,该脚本仅复制存储库的内容。)
gitcopy git@server:bootstrap // Grabs the bootstrap.php file from a private repo.
php bootstrap.php fb-bootstrap api-bootstrap
第二个命令将创建一个新文件夹:“ bootstrap”,并将存储库克隆到该文件夹中。然后删除.git文件夹,因为我在那里不需要版本控制。它还会引导基本的composer.json,并合并其中的所有其他composer.json文件。bootstrap composer.json文件会在此过程中删除,因此我可以将bootstrap内容复制到项目的根文件夹中,而无需提示覆盖其他composer.json文件。
因此,从根本上讲,它只是一个不错的小工具,可以抓住我需要的一切,然后我可以自己解决可能出现的问题。
这样,我可以使用Yeoman生成器,并且仍然使用我自己的引导程序文件,而不必担心冲突。
我唯一无法调查的是如何使此脚本成为phar可执行文件,因此它可以像作曲家一样工作。我可以说:代替获取bootstrap.php的引导存储库bootstrap api webapp etc
。
但这是另一天。:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句