如何正确检查是否安装了Symfony应用程序?
在我们的Dockerfile的entrypoint.sh
我需要检查(实际上是数据库),看看是否有一个应用程序当前安装,如果不运行一个php app/console
命令。
这是我目前的做法:
CHECK=$(php app/console doctrine:query:sql "SELECT * FROM user" -q) if [ $? -ne 0 ]; then php app/console vendor:install fi
哪个不舒服 还有其他什么方法来检查这个?
注意数据库是由第三方MySql代理服务创build的。 所以我无法检查数据库的存在,因为永远是真的。
基于Composer钩子,您可以检查这些文件和目录。
需要:
-
app/boostrap.php.cache
或var/boostrap.php.cache
。 -
app/config/parameters.yml
。 -
vendor/symfony
。 - 检查
app/cache
或var/cache
是否被预热。
可选的:
- 检查执行
app/SymfonyRequirements.php
或var/SymfonyRequirements.php
是否会返回成功 – 但是对于一些严格的要求,这可能会失败。 -
web/bundles
如果有任何资产要安装。