我试图在带有免费节点的OpenShift上使用Slim.我可以从SSH会话运行composer更新,没有任何问题.
唯一的问题是,每次我想通过git提交文件时,都必须进入控制台并再次运行composer install.我的问题是有什么简单的方法可以解决此问题?我在/project/.openshift/action_hooks/post_deploy中尝试了BASH脚本,但是服务器未在运行时/存储库下创建供应商文件夹
解决方法:
我总是通过action hooks来做到这一点:
在我的项目目录中,我有一个名为/project/.openshift/action_hooks/post_deploy的脚本,其中post_deploy是一个bash脚本.
这是我一直在使用的:
#!/bin/bash
export MY_PHPCOMPOSER=$OPENSHIFT_DATA_DIR/composer.phar
# if composer not exists, download
if [ ! -f $MY_PHPCOMPOSER ]; then
cd $OPENSHIFT_DATA_DIR
echo "Downloading composer..."
php -r "readfile('https://getcomposer.org/installer');" | php
fi
$MY_PHPCOMPOSER -n -q self-update
cd $OPENSHIFT_REPO_DIR
# install
php -dmemory_limit=1G $MY_PHPCOMPOSER install
因此post_deploy脚本将在您每次将回购推送到openshit时执行.它像魅力一样运作!
边注
Since not always the OpenShift composer’s version is updated it’s safe
to download a new composer copy and use it.
Also, don’t forget adjusting permissions settings.
有用的网址
> Openshift builds
> Openshift Default Build Lifecycle