我正在尝试在Slim上使用免费节点OpenShift。我可以毫无问题地从SSH会话中运行composer update
。
唯一的问题是每次我想通过 git 提交文件时,我必须转到控制台再次运行composer install
。我的问题是有什么简单的方法可以解决这个问题吗?我在 /project/.openshift/action_hooks/post_deploy 中尝试了一个BASH脚本,但是服务器没有在runtime / repo下创建vendor文件夹
答案 0 :(得分:4)
我总是通过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
每次将repo推送到openshit时, post_deploy 脚本都会执行。它就像一个魅力!
由于OpenShift作曲家的版本并不总是更新,所以它是安全的 下载一个新的作曲家副本并使用它。 另外,不要忘记调整权限设置。
有用的链接
答案 1 :(得分:0)
我知道我的回答迟了但根据Openshift documentation,您可以在每次构建后启用composer install
,只需创建一个标记文件:
touch .openshift/markers/use_composer