简体   繁体   中英

Running RAILS_ENV=production with the system command

I have got a really weird problem with a script that I am running on my server, the details are below. But essentially I am using a script to set up a rails application and I am calling that script from an existing rails application.

In my existing application (the application that is calling the script on the server) I have:-

Spawnling.new do
   system "cd ~/ && ~/*/create_site.sh param1 param2 >> /tmp/logger"
end

The create_site.sh script creates a fresh installation of rails using the below:

rails new $DIR --database postgresql

It then does a number of things to set up the application. The issue is that the script seems to run absolutely fine until it gets to the following command:

cd $DIR && RAILS_ENV=production rails g roroacms:install -v && RAILS_ENV=production rake assets:clean && RAILS_ENV=production rake assets:precompile

It is really odd because when I run the top command manually as the root user it seems to run absolutely fine without any issues at all. When I view the logger file at the end of the top command it looks like the below:

Your bundle is updated!
Bundle is installed and up to date
RoroaCMS installation
Installation complete with assets
Server started

When I run this manually it outputs a number of messages between each line where it is running the command. Any ideas on this? I am thinking that it could be something to do with RAILS_ENV as the rails new command runs fine earlier in the script.

Hi I do a fair bit of scripting rails on servers and I always use the format bundle exec rails g rspec:install production so your command would be cd $DIR && bundle exec rails g roroacms:install -v production && bundle exec rake assets:clean production && bundle exec rake assets:precompile production . I dont have a whole lot of reasoning behind it but that format seems to be most reliable across different server environments.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM