1

Недавно я разместил приложение Ruby on Rails на Amazon EC2, используя Elastic Beanstalk. Все работает отлично, за исключением файла seeds.rb. Мой файл seeds.rb не выполняется во время хостинга. Я также использую ActiveAdmin, и я определяю первого администратора в файле seeds.rb.Как запустить файл seed.rb на Amazon ec2

Как создать первый пользователь admin на Amazon с помощью консоли rails? Есть ли способ открыть Rails Console на Amazon EC2? Я пытаюсь сделать это с помощью шпатлевки, но не знаю, как это сделать. Пожалуйста, дайте мне несколько указателей.

ответ

3

Вам нужно создать пару для доступа к экземпляру amazon (который, как я думаю, у вас уже есть). Убедитесь, что ssh-доступ включен в текущей выбранной группе безопасности.

Вы можете подключиться к Амазонке, например, используя

ssh -i path/to/keypair.pub [email protected]

Затем перейдите в каталог приложения и запустить bundle exec rake db:seed RAILS_ENV='staging' при условии, что вы запускаете приложение в промежуточной среде.

+0

Я успешно авторизуюсь через SSH. Теперь он выглядит так: [ec2-user @ ip-10-28-206-117 ~] $ ', но я не знаю путь к каталогу приложения. Я пытаюсь запустить команду 'ls', но ничего не отображается. –

+1

check'/var/www' directory – benchwarmer

+0

Не работает, показывая ошибку '-bash: cd:/var/www: Нет такого файла или каталога' –

8

Вы не должны делать что-то подобное?

# .ebextensions/bundles_container.config 
container_commands: 
    01-bundle-install: 
    command: "bundle install" 
    leader_only: true 
    02-bundle-db-migrate: 
    command: "bundle exec rake db:migrate" 
    leader_only: true 
    03-bundle-db-seed: 
    command: "bundle exec rake db:seed RAILS_ENV='staging'" 
    leader_only: true 

Вы также можете передать параметры, если это необходимо, или объединить все эти команды с «cmd1 & & Cmd2».

+1

спас меня столько времени. +1 –