使用以下项目来引导项目:私人git repos,Composer和Satis

ZeeCoder

编辑:我在这里想要实现的目标可以通过Yeoman项目来完成


因此,我在专用服务器上设置了git + composer + satis,一切正常,我对此非常热心。爱他们所有人。

我将git用于项目和私有软件包,因此现在基本的工作流程如下所示:

git clone git@myserver:the-project-name
composer install

这将克隆项目存储库,并安装所需的依赖项。极好的。

但我也希望能够使用一些“骨架存储库”,并将它们的内容复制到我的项目中,以保留依赖项信息。

举个例子:

  • 我创建了一个git repo:test-project,然后在本地克隆它。
  • 我有另一个git repo,称为fb-bootstrap,它是facebook应用程序的框架。
  • 我也有另一个Bootstrap骨架git repo,我也想包括它:例如,这将是一个api /文件夹。让我们称之为:api-bootstrap
  • 所以我也想克隆它们,但是我当然不能这样做,因为我已经在同一目录中有一个git repo了。
  • 可能的解决方案:我使用以下代码,因此仅获取文件:'git archive --format = tar --remote = git @ myserver:the-bootstrap-repos HEAD | 焦油xf-'

很好,但是有一个问题:我有不同的依赖项-不同的composer.json文件。-对于fb-bootstrap和api-bootstrap仓库,所以我需要找到一种安装所有它们的方法。

请注意,我不会为此使用composer,因为除了自动加载的php类之外,我无法将任何东西放置在vendor /文件夹中,因为访问仅限于该文件夹。

取消该限制也不能解决问题,因为如果以后添加依赖项,然后调用composer update,我可能会丢失在引导文件夹中所做的更改。

由于上述原因,上面的子模块和“仅复制文件” hack并没有完全消除它。

概括:

我需要一个解决方案,其中可以包含所需的任意数量的引导存储库,完成后,我必须能够安装所有依赖项。

像这样:

  • git init一个项目仓库,
  • git在本地克隆项目存储库,
  • 获取我需要的一些引导存储库内容,
  • 安装我为项目声明的依赖项,以及所有引导存储库的依赖项。

有没有办法做到这一点?

另外:如果您认为我以完全错误的方式解决此问题,请随时告诉我。无论如何,我都在适应新技术,我不害怕改变。:)

任何评论表示赞赏。

ZeeCoder

同时,我或多或少地解决了这个问题。

首先,我放弃了使一切完全自动化的想法。

组合不同的引导存储库存在太多问题。真的会发生任何事情。

我仍然想实现自动化的一件事是合并引导存储库的不同依赖项。

因此,在进行了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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用以下选项来组织我的项目的选项:JAX-RS API,ServiceLocator和远程EJB

来自分类Dev

调用`composer install`应该只使用satis dist zip文件,不要使用source

来自分类Dev

如果我可以在composer.json中指定私有存储库,为什么还要使用Satis?

来自分类Dev

Satis Composer存储库安装

来自分类Dev

使用vagrant,docker和git的项目布局

来自分类Dev

如何存储废弃项目的git repos?

来自分类Dev

使用grunt和angular-generator来管理多个项目

来自分类Dev

私人管理公共项目-GIT

来自分类Dev

使用Composer for CakePHP和依赖项:总体策略,项目结构和`.gitignore`

来自分类Dev

在Git中使用Eclipse .classpath和项目文件?

来自分类Dev

使用git和远程服务器的新项目

来自分类Dev

如何使用docker和git实施我的项目

来自分类Dev

根据项目的喜欢程度,关联的项目和项目等级来查找最佳项目

来自分类Dev

git:关于创建分支和克隆 repos 的问题

来自分类Dev

使用Twig / Timber / Wordpress和Bootstrap 4的引导轮播“ carousel-item”中的多个项目

来自分类Dev

使用带有npm,bundler和composer的Grunt的Web应用程序的理想项目目录结构

来自分类Dev

文件不使用psr0和psr4自动加载的Composer(symfony项目)

来自分类Dev

文件不使用psr0和psr4自动加载的Composer(symfony项目)

来自分类Dev

使用显示更多和显示更少的按钮来显示和隐藏项目

来自分类Dev

GIT中的Composer和composer.lock并合并冲突

来自分类Dev

如何仅使用一种方法来填充ComBobox和ListBox的项目?

来自分类Dev

仅使用Autoconf和Autoscan来构建没有“ Makefile.am”的项目?

来自分类Dev

Maven同时使用Maven依赖项和引用库来构建项目

来自分类Dev

可以同时使用Visual Studio和Xamarin Studio来构建Xamarin项目吗?

来自分类Dev

使用以下条件实施Shapes应用程序-小型项目

来自分类Dev

使用以下条件实施Shapes应用程序-小型项目

来自分类Dev

Composer创建项目:使用分支的存储库

来自分类Dev

Composer创建项目:使用分支的存储库

来自分类Dev

无法使用Composer安装symfony项目

Related 相关文章

  1. 1

    使用以下选项来组织我的项目的选项:JAX-RS API,ServiceLocator和远程EJB

  2. 2

    调用`composer install`应该只使用satis dist zip文件,不要使用source

  3. 3

    如果我可以在composer.json中指定私有存储库,为什么还要使用Satis?

  4. 4

    Satis Composer存储库安装

  5. 5

    使用vagrant,docker和git的项目布局

  6. 6

    如何存储废弃项目的git repos?

  7. 7

    使用grunt和angular-generator来管理多个项目

  8. 8

    私人管理公共项目-GIT

  9. 9

    使用Composer for CakePHP和依赖项:总体策略,项目结构和`.gitignore`

  10. 10

    在Git中使用Eclipse .classpath和项目文件?

  11. 11

    使用git和远程服务器的新项目

  12. 12

    如何使用docker和git实施我的项目

  13. 13

    根据项目的喜欢程度,关联的项目和项目等级来查找最佳项目

  14. 14

    git:关于创建分支和克隆 repos 的问题

  15. 15

    使用Twig / Timber / Wordpress和Bootstrap 4的引导轮播“ carousel-item”中的多个项目

  16. 16

    使用带有npm,bundler和composer的Grunt的Web应用程序的理想项目目录结构

  17. 17

    文件不使用psr0和psr4自动加载的Composer(symfony项目)

  18. 18

    文件不使用psr0和psr4自动加载的Composer(symfony项目)

  19. 19

    使用显示更多和显示更少的按钮来显示和隐藏项目

  20. 20

    GIT中的Composer和composer.lock并合并冲突

  21. 21

    如何仅使用一种方法来填充ComBobox和ListBox的项目?

  22. 22

    仅使用Autoconf和Autoscan来构建没有“ Makefile.am”的项目?

  23. 23

    Maven同时使用Maven依赖项和引用库来构建项目

  24. 24

    可以同时使用Visual Studio和Xamarin Studio来构建Xamarin项目吗?

  25. 25

    使用以下条件实施Shapes应用程序-小型项目

  26. 26

    使用以下条件实施Shapes应用程序-小型项目

  27. 27

    Composer创建项目:使用分支的存储库

  28. 28

    Composer创建项目:使用分支的存储库

  29. 29

    无法使用Composer安装symfony项目

热门标签

归档