Yii2如何在更新基础项目时更新其他项目


Yii2 how to update other projects when base project is updated?

我们目前有Yii2基本项目(我们可以说,比如,项目根,我们将从中创建其他项目)。现在有几个模块、模型、控制器和查看器。这里一切都很好,但如何部署(以及在哪里),这样当我们更新基本项目时,所有使用基本项目的子项目都会更新(最好是通过Composer和Composer更新)

例如,Kartik有它的插件/小部件,我们可以简单地通过Composer用$ php composer.phar require kartik-v/yii2-grid "@dev"这样的命令进行更新。

因此,我们希望有类似的东西,但不能公开访问(这样,如果没有某种电子邮件/用户名/密码,随机的人就无法访问)。这一部分不如第一部分重要,因为在这一部分中,我们至少可以使用类似BitBucket的东西。实际上,可能的解决方案不多,很可能只有几个,但这是我们现在无法解决的挑战。

我尝试过StackExchange,但它没有StackOverflow那么受欢迎,所以我正在尽可能多地提供信息。假设我看到这个问题,这个问题也不应该偏离主题。谢谢

您可以使用自己的私有存储库来保存yii2应用程序模板。若要更新所有项目,请使用composer。下面是代码示例:

"repositories": [
    {
      "type":"package",
      "package": {
        "name": "repo-name/yii2template",
        "version":"master",
        "source": {
          "url": "https://your-git-server.com/repo-name/yii2template.git",
          "type": "git",
          "reference":"master"
        }
      }
    }
  ],

所以,当您对模板进行更改时,只需更新特定项目的composer并获得这些更改。

附言:另一个想法是Ansible。您可以使用此工具更新子项目,但您必须根据需要手动编写剧本。如果您只需要这个模板本地,您可以使用PhpStorm,它可以从项目中制作模板。