1

Я получаю следующее сообщение об ошибке на AWS упругой Beanstalk при работе bundle exec rake --trace assets:precompile:Как вы исправляете ошибку разрешения файлов на AWS эластичных бобжевых рельсах, активы прекомпилируются?

Command failed with status (1): [/opt/rubies/ruby-2.3.0/bin/ruby /opt/rubie...] 

и на трассировку стека дисплеев:

Errno::EACCES: Permission denied @ dir_s_mkdir - /var/app/current/tmp/requirejs 

мне нужно обновить разрешения, поэтому задача рейк может написать в эту папку tmp. Обычно я просто запускал chmod или chown на сервере, чтобы предоставить доступ к пользователю. Тем не менее, я на эластичном бобовом стебле, и я не верю, что он будет работать над новыми экземплярами и будущими развертываниями. Каким образом это исправить, поэтому оно применяется ко всем развертываниям на каждом экземпляре EC2?

+0

Почему голос? Должен ли я предоставить дополнительную информацию? – tko

+0

У меня есть эта точная проблема, вы когда-нибудь ее решали? – Andreas

+0

Я пока общался с этим, предварительно предварительно скомпилировав активы и совершив в репо перед развертыванием. Само развертывание также выполняется быстрее. – tko

ответ

1

я, наконец, фиксирована (см работал около) это с помощью команды расширения Е.Б., который создает папку tmp и делает запись:

# <project-root>/.ebextensions/fix_temporary_folder_permissions.yml 
commands: 
    01_set_tmp_permissions: 
    command: "mkdir /var/app/ondeck/tmp; chmod 600 /var/app/ondeck/tmp" 

Примечание: Я не совсем уверен, как это работает через несколько экземпляров, но я полагаю, что они будут выполнять собственную предварительную компиляцию при развертывании.

+3

Возможно, вам придется изменить имя на 'fix_temporary_folder_permissions.config', если это не сработает. – Andreas