配置
编辑本页配置
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-build,ob娱乐下载symfony-start,ob娱乐下载symfony-deploy,ob娱乐下载symfony-database-migrate,php-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作业允许您以指定的时间或间隔运行计划任务。要在出现错误时获得反馈,请在命令前面加上croncape
.croncape
将发送电子邮件到定义的地址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:快照:规范:05***cmd:| #只运行在主分支,也就是生产if ["$PLATFORM_BRANCH" = "main"];然后croncape symob娱乐下载fony…——不非
请注意
为确保更好的可靠性,默认为croncape
使用project-id@cron.noreply.platformsh.site
作为寄件人地址(项目号+ branch@cron.noreply.platformsh.site
对于非主环境)和提供的Platform.sh SMTP服务;即使你定义了你自己MAILER_ *
环境变量。
如果您希望使用自定义SMTP和/或使用自定义发件人地址,您需要遵循以下步骤:
- 属性定义发件人地址
MAILFROM
环境变量; - 定义使用您自己的电子邮件服务所需的环境变量,参考电子邮件欧宝官网下载app文档检查他们的名字。请注意,只支持SMTP连接;
- 禁用所提供的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.start
Key是必需的,并指定用于启动应用程序worker的命令。方法指定的命令开始
密钥终止后,将自动重新启动。
提示
运行ob娱乐下载symfony-deploy
命令在启动你的worker之前不再是必要的,Platform.sh会自动地运行它。
谨慎
Web容器和工作容器不共享挂载目标。使用文件系统在这些容器之间共享文件是不可能的。每个数据共享都需要使用服务来完成。