如何在涉及RVM时远程运行捆绑包

时间:2014-07-24 02:44:57

标签: ruby-on-rails shell ssh rvm bundler

我正在尝试创建一个小的shell脚本,它将首先通过rsync部署Rails应用程序,然后通过ssh远程运行bundle命令。我的shell脚本如下所示:

#!/bin/bash

REMOTE_SERVER="myserver.com"
REMOTE_USER="me"
REMOTE_PATH="/home/me/"
BUNDLE_PATH="/usr/local/rvm/gems/ruby-2.0.0-p353/bin/bundle"

# Step 1: Rsync
rsync -ave ssh --exclude-from '.ignore' ./ $REMOTE_USER@$REMOTE_SERVER:$REMOTE_PATH

# Step 2: Bundle
ssh $REMOTE_USER@$REMOTE_SERVER "cd $REMOTE_PATH && $BUNDLE_PATH install"

Rsync工作正常但是当涉及RVM时,捆绑线会引发以下错误:

/usr/bin/env: ruby_executable_hooks: No such file or directory

所以,我想知道...... 是否可以将捆绑包(以及rake等其他命令)作为单个ssh命令的一部分运行?

如果重要,远程服务器正在运行Ubuntu 14。

1 个答案:

答案 0 :(得分:-1)

社区已经解决了这个问题。它被称为Capistrano。

http://capistranorb.com/