Запретить OpsWorks перезаписывать системный каталог CodeIgniter символической ссылкой

У меня есть несколько приложений CodeIgniter, которые я хочу развернуть с помощью Amazon OpsWorks с очень стандартным слоем «PHP App Server» и настраиваемым рецептом для настройки разрешений. Проблема в том, что скрипт развертывания автоматически удаляет любой каталог current/public/system и заменяет его символической ссылкой на shared/system.

Это довольно раздражает, потому что все файлы CodeIgniter раньше находились в каталоге current/public/system.

Кто-нибудь знает, как запретить OpsWorks создавать эту символическую ссылку?

Спасибо


person lracicot    schedule 19.06.2014    source источник


Ответы (1)


Это невозможно, ЕСЛИ вы не создадите свою собственную модифицированную версию AWS Cookbook, которая делает это. Конкретной причиной этого являются рецепты по адресу: здесь

Возможная работа вокруг этого:

## deploy/before_migrate.rb (in your app repo )

deploy_to = deploy_resource.deploy_to

dirs_to_protect = [ "public" ]
dirs_to_protect.each {|dir| 
    bash "save #{dir}" do
      code <<-EOL
        cp -a #{release_path}/#{dir}/* #{deploy_to}/shared/#{dir} 
      EOL
    end
}

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

Подробнее о хуках: Chef Deployment Hooks

person Imran Ahmed    schedule 25.06.2014
comment
Здесь вы говорите, что я не могу установить CodeIgniter или ExpressionEngine с кулинарной книгой opsworks для php. CodeIgniter по-прежнему остается очень популярным фреймворком. Это серьезная ошибка в кулинарной книге. Можете ли вы помочь мне продвинуть эту проблему? github.com/aws/opsworks-cookbooks/issues/153 - person lracicot; 26.06.2014
comment
Доступны крючки, которые позволят вам смягчить это. Я перечислил их сейчас. Надеюсь, поможет - person Imran Ahmed; 27.06.2014
comment
Спасибо, я проверю это позже, но это похоже на хорошую идею. :) - person lracicot; 27.06.2014