videos semilla personajes pelicula para mágicas magicas magica latino las infantiles imagenes habichuelas español dormir disney cuentos cuento con completa ruby-on-rails amazon-web-services amazon-ec2 elastic-beanstalk

ruby on rails - semilla - ¿Se puede ejecutar una consola de rieles o un comando de rastrillo en el entorno elástico de las habichuelas mágicas?



jack y las habichuelas mágicas (7)

Configuré un entorno RoR en AWS ''beanstalk elástico. Puedo entrar a mi instancia de EC2. Mi directorio de inicio es / home / ec2-user , que está efectivamente vacío. Si me muevo hacia arriba en un directorio, también hay un directorio / home / webapp al que no tengo acceso.

¿Hay alguna forma de ejecutar un comando de rastreo o una consola de rieles en mi instancia elástica Beanstalk?

Si Usage: rails new APP_PATH [options] Rails Console , obtengo Usage: rails new APP_PATH [options] Si escribo RAILS_ENV = production bundle exec rails console , obtengo " Could not locate Gemfile "


Me gusta crear un archivo eb_console en la raíz de mi aplicación de rieles, luego chmod u+x it. Contiene lo siguiente:

ssh -t ec2-user@YOUR_EC2_STATION.compute.amazonaws.com ''cd /var/app/current && bin/rails c''

De esta manera, solo tengo que ejecutar:

./eb_console

como si hubiera corrido heroku run bundle exec rails c .


Ninguna de estas soluciones mencionadas aquí funcionó para mí, así que preparé un pequeño guión que puse en script / aws-console.

Puede ejecutarlo desde el directorio / var / app / current como root:

eb ssh cd /var/app/current sudo script/aws-console

Mi script se puede encontrar como un Gist aquí .


Ninguna de las otras respuestas funcionó para mí, así que fui buscando - esto está funcionando para mí ahora en una pila de judías elásticas 64 bits amazon linux 2016.03 V2.1.2 ruby ​​2.2 (puma) pila

cd /var/app/current sudo su rake rails:update:bin bundle exec rails console

eso me devuelve la consola esperada

Loading production environment (Rails 4.2.6) irb(main):001:0>


Ninguno de estos funcionaba para mí, incluido el script aws-console. Finalmente terminé creando un directorio de script en /var/app/current y luego creando un archivo de rails en ese directorio como esquema por esta respuesta en otra pregunta de SO .

eb ssh myEnv cd /var/app/current sudo mkdir script sudo vim script/rails

Agregue esto al archivo y guárdelo:

echo #!/usr/bin/env ruby # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. APP_PATH = File.expand_path(''../../config/application'', __FILE__) require File.expand_path(''../../config/boot'', __FILE__) require ''rails/commands''

Entonces hazlo ejecutable y ejecútalo:

sudo chmod +x script/rails sudo script/rails console

Y funcionó.


No sé por qué, pero dado que EBS ejecuta todo como root, esto funcionó para mí:

sudo su bundle exec rails c production


Para los rieles, salte a /var/app/current luego, como dijo @juanpastas, ejecute RAILS_ENV=production bundle exec rails c


Tienes que encontrar la carpeta con tu Gemfile: p.

Para hacer eso, eche un vistazo a la configuración del servidor web. Debe haber una configuración que indique dónde está el directorio de la aplicación.

Tal vez sepa dónde está su aplicación.

Pero en caso de que no lo sepas, intentaré:

grep -i your_app_name /etc/apache/* grep -i your_app_name /etc/apache/sites-enabled/*

Para buscar archivos que contengan your_app_name en la configuración de Apache.

O si estás usando nginx, reemplaza apache arriba por nginx .

después de encontrar la carpeta de la aplicación, cd en ella y ejecute RAILS_ENV=production bundle exec rails c .

Asegúrese de que su aplicación esté configurada para ejecutarse en producción en la configuración de Apache o nginx.