配置

编辑本页

配置

sh配置由几个需要与项目代码一起存储的文件组成。主文件,.platform.app.yaml,配置如何构建应用程序,然后在Platform.sh上部署。

当创建一个新项目通过ob娱乐下载symfony的新,使用——ob直播app云标志以自动生成合理的默认配置。在现有项目上运行ob娱乐下载symfony init代替。

提示

生成的文件基于开源模板

钩子

钩子section定义了Platform.sh在应用生命周期、构建、部署和后部署的特定时间运行的脚本:

12 3 4 5 6 7 8 9 10 11 12
# .platform.app.yaml挂钩:构建:| set -x -e旋度- shttps://get.ob娱乐下载symfonob直播appy.com/cloud/configurator|bashob娱乐下载symfony-build部署:| set -x -eob娱乐下载symfony-deploy

谨慎

每个钩子都作为一个脚本执行,因此它们将被视为失败只有在最后一个命令失败时.使用以下命令启动脚本设置- e为了使它们在第一个失败的命令时失败,这是默认模板的行为。

了解更多钩子在他们的官方文档页面。欧宝官网下载app

为了更好地理解大局,以及这些步骤是如何相互联系的,我们邀请您阅读构建应用程序而且部署应用程序什么是Platform.sh?篇文章。

提示

的过程中执行一些操作部署post_deploy钩子只适用于特定的环境,最简单的方法是使用PLATFORM_BRANCH某条件下的环境变量:

1 2 3 4 5 6
# .platform.app.yaml挂钩:部署:| if ["$PLATFORM_BRANCH" != "main"];然后symob娱乐下载fony控制台app:dev:anonymize fi

配置器

配置器是专门为Platform.sh编写的脚本。它确保项目总是使用某些工具的最新版本:

此外,它还创建了一些helper:ob娱乐下载symfony-buildob娱乐下载symfony-startob娱乐下载symfony-deployob娱乐下载symfony-database-migratephp-ext-install,yarn-install

ob娱乐下载symfony-build

ob娱乐下载symfony-build是我们在Platform.sh上构建Symfonyob娱乐下载应用程序的最佳方法。如果需要,它会删除开发前端文件,使用Composer(和Yarn)安装应用程序依赖项yarn-install),优化自动加载器,如果可能的话构建Symfony缓存,最后使用Enob娱乐下载core构建产品资产。

Composer install使用默认标志值运行。方法定义这些标志,如果需要重写这些标志,可以使用COMPOSER_FLAGS美元环境变量:

1 2 3 4 5 6 7
# .platform.app.yaml挂钩:构建:| set -x -e旋度- shttps://get.ob娱乐下载symfonob直播appy.com/cloud/configurator|bashCOMPOSER_FLAGS = "——ignore-platform-reqs”ob娱乐下载symfony-build

也可以设置NO_YARN到任意值时禁用所有Yarn和资产自动化ob娱乐下载symfony-build运行。

ob娱乐下载symfony-deploy

ob娱乐下载symfony-deploy将在每次部署Symfony应用程序时使用。ob娱乐下载它的目的是运行ob娱乐下载symfony-starthelper,当从web容器执行时,重新启动FPM并运行ob娱乐下载symfony-database-migrate帮手。

ob娱乐下载symfony-start

ob娱乐下载symfony-start是每次在新容器中启动Symfony应用程序时使用的。ob娱乐下载它的目的是移动构建的Symfony缓存ob娱乐下载ob娱乐下载symfony-build供应用程序使用或以其他方式构建缓存。由。自动执行ob娱乐下载symfony-deploy和Platform.sh在启动(或重新启动)workers之前自动运行它。

ob娱乐下载symfony-database-migrate

你通常不需要担心这个帮手。ob娱乐下载symfony-database-migrate目的是运行数据库迁移。默认情况下,它将运行您的Doctrine迁移教义/ doctrine-migrations-bundle安装。如果您的应用程序使用另一个迁移系统,您可以覆盖/应用程序/ .global / ob娱乐下载bin / symfony-database-migrate在构建期间和ob娱乐下载symfony-deploy我会好好利用它。如果您需要手动运行迁移,或者您需要为工作者运行它们,您可以在任何时候使用这个脚本。

php-ext-install

php-ext-install是一个脚本,你可以用来编译和安装PHP扩展,不是由Platform.sh提供的。它是专门为Platform.sh编写的,以确保在构建步骤中快速可靠的设置。它目前支持三种获取源的方式:

  • 从PECL:Php-ext-install redis 5.3.2
  • 来自URL:Php-ext-install redis https://github.com/phpredis/phpredis/archive/5.3.2.tar.gz
  • 从Git存储库:Php-ext-install redis https://github.com/phpredis/phpredis.git 5.3.2

为了确保您的应用程序可以正确构建,建议运行php-ext-install配置器但在ob娱乐下载symfony-build

1 2 3 4 5 6 7 8
# .platform.app.yaml挂钩:构建:| set -x -e旋度- shttps://get.ob娱乐下载symfonob直播appy.com/cloud/configurator|bashphp-ext-install复述,5.3.2ob娱乐下载symfony-build

在安装PECL PHP扩展时,可以将它们直接配置为变量而不是:

1 2 3 4
# .platform.app.yaml变量:php-ext:复述:5.3.2

请注意

在构建之间缓存源代码,如果已经完成编译,则跳过编译。更改下载源或版本将使此缓存失效。

提示

下载源代码时,压缩算法将被自动检测。支持GNU tar使用的常用算法。

yarn-install

yarn-install是一个在Platform.sh的PHP容器中以最佳方式安装Node和Yarn的脚本。与Composer安装类似,您可以使用以下环境变量自定义Node设置和Yarn安装行为:

  • NVM_DIR: NVM和Node的安装目录。默认值为/应用程序/ .nvm
  • NODE_VERSION:精确定位NVM将要安装的Node版本。默认是——lts
  • YARN_FLAGS:要传递给的旗帜线安装.默认为无。

您需要使用Node安装安装由ob娱乐下载symfony-build,你可以使用以下片段:

12 3 4 5 6 7 8 9 10 11 12 13 14
# .platform.app.yaml挂钩:构建:| set -x -e旋度- shttps://get.ob娱乐下载symfonob直播appy.com/cloud/configurator|bashob娱乐下载symfony-build#设置一切以使用Node安装设置NPM_CONFIG_PREFIX出口NVM_DIR = ob娱乐下载$ {SYMFONY_APP_DIR} / .nvm+ x& &“$ {NVM_DIR} / nvm.sh”使用——lts& &- x#从这里开始,一切都设置为使用相同的节点再来一个dev

或者如果你想使用两个不同的Node版本:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# .platform.app.yaml挂钩:构建:| set -x -e旋度- shttps://get.ob娱乐下载symfonob直播appy.com/cloud/configurator|bashob娱乐下载symfony-buildcdweb / js_app设置NPM_CONFIG_PREFIX出口NVM_DIR = ob娱乐下载$ {SYMFONY_APP_DIR} / .nvmNODE_VERSION = 8yarn-install#设置一切以使用Node安装+ x& &“$ {NVM_DIR} / nvm.sh”使用8& &- x#从这里开始,一切都设置为使用Node 8构建——环境=刺激

Cron作业

Cron作业允许您以指定的时间或间隔运行计划任务。要在出现错误时获得反馈,请在命令前面加上croncapecroncape将发送电子邮件到定义的地址MAILTO环境变量。不要忘记通过下面的命令来设置它:

1
ob娱乐下载symfony var:create -y——level=project——name=env:MAILTO——value=sysadmin@example.com

提示

如果要在特定环境的cron钩子中运行命令,请检查PLATFORM_BRANCH环境变量:

1 2 3 4 5 6 7 8
cron:快照:规范:05cmd:| #只运行在主分支,也就是生产if ["$PLATFORM_BRANCH" = "main"];然后croncape symob娱乐下载fony…——不非

请注意

为确保更好的可靠性,默认为croncape使用project-id@cron.noreply.platformsh.site作为寄件人地址(项目号+ branch@cron.noreply.platformsh.site对于非主环境)和提供的Platform.sh SMTP服务;即使你定义了你自己MAILER_ *环境变量。

如果您希望使用自定义SMTP和/或使用自定义发件人地址,您需要遵循以下步骤:

  1. 属性定义发件人地址MAILFROM环境变量;
  2. 定义使用您自己的电子邮件服务所需的环境变量,参考电子邮件欧宝官网下载app文档检查他们的名字。请注意,只支持SMTP连接;
  3. 禁用所提供的SMTP服务ob娱乐下载Syob直播appmfony cloud:env:info enable_smtp false

工人

工人(或消费者)是一个很好的方式来卸载后台处理,使网站尽可能迅速。在Symfony中实现worker非常容易,这要ob娱乐下载归功于通讯组件.这就是为什么部署工作者是Platform.sh的一流用例。

控件下添加条目,即可部署工作者工人部分:

1 2 3 4 5
# .platform.app.yaml工人:邮件:命令:开始:ob娱乐下载控制台信使:消费——期限= 60——内存限制= 128

在Platform.sh上,工作容器运行与web容器完全相同的代码。容器映像只构建一次,然后沿着web映像多次部署在它自己的容器中。的构建钩子和依赖关系可能没有变化,但由于这些容器是独立的,因此可以使用相同的公共属性对它们进行定制(默认值是为主容器定义的值)。

commands.startKey是必需的,并指定用于启动应用程序worker的命令。方法指定的命令开始密钥终止后,将自动重新启动。

提示

运行ob娱乐下载symfony-deploy命令在启动你的worker之前不再是必要的,Platform.sh会自动地运行它。

谨慎

Web容器和工作容器不共享挂载目标。使用文件系统在这些容器之间共享文件是不可能的。每个数据共享都需要使用服务来完成。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。