捆绑安装没有从我的更新后挂钩运行

 安份丶小娚人 发布于 2023-01-12 11:58

我为我的项目设置了更新后的挂钩.我有一个裸存储库(/ var/git/myproject),我推送到这个存储库,以及我的应用程序运行的实时存储库(/ var/www/myproject).我还包括bundle installbundle exec rake db:migrate安装gems和更新db.

下面是我的更新后挂钩

#!/bin/bash

echo "Pulling changes into Live..."
cd /var/www/myproject || exit
unset GIT_DIR
git pull origin master

# check if ruby app
if [ -f /var/www/myproject/Gemfile ];
then
  echo "  Ruby app detected..."
  bundle install --without development test
  bundle exec rake db:migrate # migrate database
fi

exec git-update-server-info

当我推送我的更改时,我收到以下消息(请注意"未找到捆绑命令"错误):

martyn@localhost:~/www/myproject$ git push -u origin master
martyn@192.168.0.100's password: 
Counting objects: 832, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (783/783), done.
Writing objects: 100% (832/832), 487.70 KiB, done.
Total 832 (delta 434), reused 0 (delta 0)
remote: Pulling changes into Live...
remote: From /var/git/myproject
remote:  * branch            master     -> FETCH_HEAD
remote: Ruby app detected...
remote: hooks/post-update: line 13: bundle: command not found
remote: hooks/post-update: line 14: bundle: command not found
To 192.168.24.100:/var/git/myproject.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

为什么捆绑没有运行?我cd到脚本中的live app目录.当我在终端自己和我cd到实时目录并运行bundle install它工作所以捆绑就在那里.

1 个回答
  • 你的钩子壳与你登录的钩子壳是不一样的(哪个有合适的PATH)

    您可以尝试在开头使用您的钩子脚本:

    #!/bin/bash -l
    

    (见这个答案

    -l参数在登录shell中执行该命令,这意味着它从您的shell配置文件继承您的路径和其他设置.

    )

    或者,您可以通过添加挂钩的第一行来确保您的脚本与当前会话的环境相同:

    $ source $HOME/.bash_profile # single user RVM setup
    $ source /etc/profile        # multi user RVM setup
    

    或者(最终替代方案)你可以添加(在调用之前bundle)(对于单用户rvm安装)

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
    

    2023-01-12 12:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有