Выполнение rake-задач в пользовательском сценарии данных на AWS ec2

Я пытаюсь полностью запустить свое приложение Rails как часть сценария пользовательских данных, переданного в API запуска экземпляра EC2. Сценарий устанавливает правильные ключи, загружает приложение из моего репозитория git, а затем он должен запускать некоторые сценарии инициализации, начиная с:

bundle install

который должен установить все недостающие драгоценные камни. Однако это не удается. Другие команды работают нормально.

Первоначальная ошибка заключалась в том, что он не мог найти команду пакета, я исправил это, вручную установив переменные среды, но Ruby все еще не смог найти гем пакета.

Моя проблема здесь в том, что когда я ssh (после сбоя сценария пользовательских данных) к запущенному экземпляру, упаковщик работает без проблем. Это не дает мне возможности отладить исходную проблему.

Под какими учетными данными выполняются пользовательские данные в ec2? Может ли это быть проблемой? Есть ли какая-то особая причина, по которой упаковщик нельзя вызвать из сценария bash?


person zmilojko    schedule 29.03.2012    source источник


Ответы (1)


Вы изменили каталоги на приложение rails?

Вы также можете попробовать просто вызвать пакет. Если вы еще не нашли решение, я бы попробовал что-то вроде этого.

#Pipe stdout and stderr to a log file.   
exec &> /home/ubuntu/startup.log

DIR=/home/ubuntu/[rails app]

echo "[START UP] change directory: " $DIR
cd $DIR

echo "[START UP] Update code" 
sudo -u ubuntu git pull origin master

echo "[START UP] Bundling latest codebase"
bundle
person DrMavenRebe    schedule 07.09.2012
comment
Не совсем решение, но привело к нему :) - person zmilojko; 24.11.2012
comment
@zmilojko так какое было решение? - person Sixty4Bit; 10.10.2014