Php 什么';这是使用push-to-deploy初始化yii2框架的正确方法
我已经为git存储库创建了Php 什么';这是使用push-to-deploy初始化yii2框架的正确方法,php,git,yii,yii2,Php,Git,Yii,Yii2,我已经为git存储库创建了post receivehook,它将签出提交到web文件夹/var/www/myproject。因为我没有提交依赖项(框架文件),所以签出时我必须安装依赖项并初始化框架。我认为有两种方法: 1) 签出后,从项目目录运行以下命令: composer install php init --env=Development --overwrite=n #other commands to setup db connection, credentials etc. 2) 将依
post receive
hook,它将签出提交到web文件夹/var/www/myproject
。因为我没有提交依赖项(框架文件),所以签出时我必须安装依赖项并初始化框架。我认为有两种方法:
1) 签出后,从项目目录运行以下命令:
composer install
php init --env=Development --overwrite=n
#other commands to setup db connection, credentials etc.
2) 将依赖项安装到签出项目的上一级/var/www
,并将链接安装到上一级。但使用这种方法,我似乎仍然需要运行phpinit
这种部署的常见方法是什么?高级应用程序的一个重要功能是拥有独立的后端和前端应用程序。因此,如果您将回购签出到
/var/www/myproject
,将创建两个重要目录:/var/www/myproject/frontend/web
和/var/www/myproject/backend/web
。您通常将web服务器配置为将这两个目录作为两个不同域的web根目录(如example.com
和admin.example.com
)
Yii2高级应用程序引入了“环境”的概念。环境基本上是一组配置文件,其中包括db凭据。因此,如果您不介意在repo中使用凭据,则推送部署是可能的
因此,如果您计划使用多个配置拥有多个服务器,您只需为每个服务器创建一个环境并使用它进行部署
因此,以下是您在查看回购协议后需要采取的步骤
composer安装
fxp/composer资产插件
需要全局安装,以便composer获取bower和npm依赖项
init--env=您的\u服务器\u环境--overwrite=All
yii Migrate--interactive=0
这就是它的全部功能。高级应用程序的一个重要功能是拥有独立的后端和前端应用程序。因此,如果您将回购签出到
/var/www/myproject
,将创建两个重要目录:/var/www/myproject/frontend/web
和/var/www/myproject/backend/web
。您通常将web服务器配置为将这两个目录作为两个不同域的web根目录(如example.com
和admin.example.com
)
Yii2高级应用程序引入了“环境”的概念。环境基本上是一组配置文件,其中包括db凭据。因此,如果您不介意在repo中使用凭据,则推送部署是可能的
因此,如果您计划使用多个配置拥有多个服务器,您只需为每个服务器创建一个环境并使用它进行部署
因此,以下是您在查看回购协议后需要采取的步骤
composer安装
fxp/composer资产插件
需要全局安装,以便composer获取bower和npm依赖项
init--env=您的\u服务器\u环境--overwrite=All
yii Migrate--interactive=0
仅此而已。您是否正在使用
advanced
应用程序模板?如果您是,那么您将项目签出到/var/www/
,这是令人惊讶的。如果您没有(如果您使用的是basic
app),则不需要init
。谢谢,我不确定使用的是哪个模板,但我正在执行init
。为什么签出到/var/www
?只有高级应用程序具有init
脚本,用于从环境中定义的特定集合设置配置文件。事实上,你是对的,只要你有/var/www/myproject/frontend/web
和/var/www/myproject/backend/web
设置为web根目录就可以了。是的,那么你如何推送部署和万斯应用程序呢?你使用的是高级应用程序模板吗?如果您是,那么您将项目签出到/var/www/
,这是令人惊讶的。如果您没有(如果您使用的是basic
app),则不需要init
。谢谢,我不确定使用的是哪个模板,但我正在执行init
。为什么签出到/var/www
?只有高级应用程序具有init
脚本,用于从环境中定义的特定集合设置配置文件。事实上,你是对的,只要你有/var/www/myproject/frontend/web
和/var/www/myproject/backend/web
设置为web root就可以了。是的,那么你如何推送部署和万斯应用程序呢?