我已经在本地机器上成功使用 Fabric 有一段时间了,终于有了一个不错的部署脚本,我想在 git 的 post-receive 挂钩期间调用它。为了做到这一点,我有以下代码,所有这些都在fab
命令之前得到验证:
deploy=... # CODE TO DETERMINE IF YOU SHOULD DEPLOY
if [[ $deploy ]] ; then
TMPFILE="/tmp/$(basename $0).$$.tmp"
git cat-file blob release:fabfile.py > $TMPFILE
fab -f $TMPFILE deploy:servername.mycompany.com
rm $TMPFILE
fi
我已经检查了每一步,我确信 TMPFILE 被正确创建(它包含我的 fabfile)。在 /tmp/ 中手动运行上面的步骤和一个组成的文件会导致相同的行为。
最糟糕的是,它“提醒”我可以-f
用来指定一个 fabfile ......我就是这样。