如何缩短与Rails相关的命令?

时间:2013-10-21 08:24:15

标签: ruby-on-rails ruby-on-rails-3

要启动我的Rails应用,我首先转到/var/www/html/app dir 然后我执行其余的两个命令。

1. $ cd /var/www/html/app
2. $ bundle exec rake sunspot:solr:start RAILS_ENV=production
3. $ unicorn_rails -c config/unicorn.rb -E production -D

我想省略第一行。并把它放入第2和第3命令 有可能吗?

5 个答案:

答案 0 :(得分:2)

您可以设置别名,以便立即执行所有操作。

如果您使用的是Zsh,则可以将其添加到~/.zshrc

alias run_app="cd /var/www/html/app; bundle exec rake sunspot:solr:start RAILS_ENV=production; unicorn_rails -c config/unicorn.rb -E production -D"

然后,当您键入run_app时,将执行步骤1到3。

答案 1 :(得分:2)

我发现解决此问题的最佳方法是创建自己的shell脚本。它在很多方面都很简单有用。

#!/bin/sh
# file-name: app-start.sh
cd /var/www/html/app
bundle exec rake sunspot:solr:start RAILS_ENV=production
unicorn_rails -c config/unicorn.rb -E production -D

然后

chmod +x app-start.sh
./app-start.sh

答案 2 :(得分:2)

您可以使用&&amp ;;链接任意数量的命令运营商
cd /var/www/html/app && bundle exec rake sunspot:solr:start RAILS_ENV=production && unicorn_rails -c config/unicorn.rb -E production -D

答案 3 :(得分:1)

您可以使用foreman来启动和管理这些不同的流程。

  1. $ cd /var/www/html/app
  2. 使用以下过程创建名为Procfile的文件,例如:

    web:unicorn_rails -c config / unicorn.rb -E production -D(换行,不知道为什么SO这样做) 搜索:bundle exec rake sunspot:solr:start RAILS_ENV = production

  3. 使用foreman start启动流程。

  4. 这是您在Heroku上托管应用时所做的事情。

答案 4 :(得分:0)

是。您可以使用以下命令:

/var/www/html/app/bundle exec rake sunspot:solr:start RAILS_ENV=production
/var/www/html/app/unicorn_rails -c config/unicorn.rb -E production -D