使用push-to-deploy

时间:2015-10-31 07:34:30

标签: php git yii yii2

我为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

此类部署的常用方法是什么?

1 个答案:

答案 0 :(得分:0)

高级应用程序的一个重要功能是具有单独的后端和前端应用程序。因此,如果您将您的回购邮件签出到/var/www/myproject,则会创建两个重要目录:/var/www/myproject/frontend/web/var/www/myproject/backend/web。您通常将Web服务器配置为将这两个目录作为两个不同域的Web根(例如example.comadmin.example.com)。

Yii2高级应用程序引入了“环境”的概念。环境基本上是一组配置文件,其中包括数据库凭据。因此,如果您不介意在您的仓库中拥有凭证,则可以进行推送部署。

因此,如果您计划让多个服务器具有多个配置,您只需为每个服务器创建一个环境并使用它进行部署。

以下是检查回购后需要采取的步骤。

  1. 安装编辑器依赖项:composer install
  2. 非常简单。请记住,需要为编辑器全局安装fxp/composer-asset-plugin才能获取bower和npm依赖项。

    1. 查看当前设置的特定环境:init --env=your_server_environment --overwrite=All
    2. 你应该覆盖一切。如果您在环境中更新了某些参数,则会将其应用于当前设置。

      1. 迁移数据库:yii migrate --interactive=0
      2. 这就是它的全部内容。