我为git存储库创建了post-receive
挂钩,其中checkouts提交到web文件夹/var/www/myproject
。由于我不提交依赖项(框架文件),因此在签出时我必须安装依赖项并初始化框架。我看到两种方法:
1)签出时,从项目目录中运行以下命令:
composer install
php init --env=Development --overwrite=n
#other commands to setup db connection, credentials etc.
2)在已检出项目/var/www
的一级安装依赖项,并将链接升级一级。但似乎通过这种方法,我仍然需要运行php init
。
此类部署的常用方法是什么?
答案 0 :(得分:0)
高级应用程序的一个重要功能是具有单独的后端和前端应用程序。因此,如果您将您的回购邮件签出到/var/www/myproject
,则会创建两个重要目录:/var/www/myproject/frontend/web
和/var/www/myproject/backend/web
。您通常将Web服务器配置为将这两个目录作为两个不同域的Web根(例如example.com
和admin.example.com
)。
Yii2高级应用程序引入了“环境”的概念。环境基本上是一组配置文件,其中包括数据库凭据。因此,如果您不介意在您的仓库中拥有凭证,则可以进行推送部署。
因此,如果您计划让多个服务器具有多个配置,您只需为每个服务器创建一个环境并使用它进行部署。
以下是检查回购后需要采取的步骤。
composer install
非常简单。请记住,需要为编辑器全局安装fxp/composer-asset-plugin
才能获取bower和npm依赖项。
init --env=your_server_environment --overwrite=All
你应该覆盖一切。如果您在环境中更新了某些参数,则会将其应用于当前设置。
yii migrate --interactive=0
这就是它的全部内容。