Yii2 如何在更新基础项目时更新其他项目?
Yii2 how to update other projects when base project is updated?
我们目前有 Yii2
个基础项目(我们可以说,我们将从中创建其他项目的项目根目录)。现在有几个模块、模型、控制器和查看器。这里一切都很好,但是 如何部署(以及在哪里)以便当我们更新基础项目时,所有使用我们基础项目的子项目都会更新(最好是通过 Composer 和 composer update)。
例如,Kartik 有它的 plugins/widgets,我们可以简单地通过 Composer 使用 $ php composer.phar require kartik-v/yii2-grid "@dev"
.
这样的命令进行更新
所以我们想要类似的东西,但不能公开访问(这样随机的人就无法在没有某种 email/username/password 的情况下访问)。这部分没有第一部分那么重要,因为在这部分我们至少可以使用像BitBucket这样的东西。可能的解决方案不多,实际上很可能只有几个,但这是我们现在无法解决的挑战。
我试过 StackExchange,但它不像 Whosebug 那样流行,所以我尽量提供尽可能多的信息。假设我看到 this question,这个问题也不应该是题外话。谢谢!
您可以使用自己的私有存储库来保存 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"
}
}
}
],
因此,当您对模板进行更改时,您只需更新特定项目的作曲家并获得这些更改。
P.S。另一个想法是 Ansible。您可以通过此工具更新子项目,但您必须根据需要手动编写剧本。
如果你只需要本地模板,你可以使用 PhpStorm,它可以从项目中制作模板。
我们目前有 Yii2
个基础项目(我们可以说,我们将从中创建其他项目的项目根目录)。现在有几个模块、模型、控制器和查看器。这里一切都很好,但是 如何部署(以及在哪里)以便当我们更新基础项目时,所有使用我们基础项目的子项目都会更新(最好是通过 Composer 和 composer update)。
例如,Kartik 有它的 plugins/widgets,我们可以简单地通过 Composer 使用 $ php composer.phar require kartik-v/yii2-grid "@dev"
.
所以我们想要类似的东西,但不能公开访问(这样随机的人就无法在没有某种 email/username/password 的情况下访问)。这部分没有第一部分那么重要,因为在这部分我们至少可以使用像BitBucket这样的东西。可能的解决方案不多,实际上很可能只有几个,但这是我们现在无法解决的挑战。
我试过 StackExchange,但它不像 Whosebug 那样流行,所以我尽量提供尽可能多的信息。假设我看到 this question,这个问题也不应该是题外话。谢谢!
您可以使用自己的私有存储库来保存 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"
}
}
}
],
因此,当您对模板进行更改时,您只需更新特定项目的作曲家并获得这些更改。
P.S。另一个想法是 Ansible。您可以通过此工具更新子项目,但您必须根据需要手动编写剧本。 如果你只需要本地模板,你可以使用 PhpStorm,它可以从项目中制作模板。