Arhn - архитектура программирования

Где мне создать .ebextensions, чтобы он работал в AWS Elastic Beanstalk

Мне нужно создавать несколько пустых каталогов каждый раз, когда происходит новое развертывание.

Я буду следовать совету принятого ответа в Как установить права доступа к папке для определенного контейнера в Elastic Beanstalk и использовать подход .ebextensions.

Согласно документации, мне нужно поместить этот каталог «в корень вашего пакета с исходниками». https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

Является ли это корнем исходного пакета? /var/приложение/текущий

Я следовал инструкциям и создал файл .config, но он не подхватывается и не применяется.

Я также пытался вручную создать нужные мне каталоги, но затем в файле web.stdout.log у моего приложения нет разрешения на использование созданных каталогов. Я даже пробовал chmod 777 в этих каталогах.

Пожалуйста, помогите мне с созданием этих пустых каталогов при/после развертывания.

ОБНОВИТЬ:

Теперь я заархивировал .ebextensions с помощью развертываемого jar-файла и вижу в журналах, что мой .config загружается. Однако я все еще сталкиваюсь с той же проблемой разрешений, когда пытаюсь получить доступ к каталогу, который я создаю. Что здесь не так?

создатьIODir.config:

commands:
  create_IO_dir:
    command: "mkdir /myIoDir"
    ignoreErrors: true
  create_input_dir:
    command: "mkdir /myIoDir/input"
    ignoreErrors: true
  create_output_dir:
    command: "mkdir /myIoDir/output"
    ignoreErrors: true
  create_record_dir:
    command: "mkdir /myIoDir/input/record"
    ignoreErrors: true
  create_schema_dir:
    command: "mkdir /myIoDir/input/schema"
    ignoreErrors: true
  create_json_dir:
    command: "mkdir /myIoDir/output/json"
    ignoreErrors: true
  create_avro_dir:
    command: "mkdir /myIoDir/output/avro"
    ignoreErrors: true
  permissions_IO_dir:
    command: "chmod 777 /myIoDir"
    ignoreErrors: true
  permissions_input_dir:
    command: "chmod 777 /myIoDir/input"
    ignoreErrors: true
  permissions_output_dir:
    command: "chmod 777 /myIoDir/output"
    ignoreErrors: true
  permissions_record_dir:
    command: "chmod 777 /myIoDir/input/record"
    ignoreErrors: true
  permissions_schema_dir:
    command: "chmod 777 /myIoDir/input/schema"
    ignoreErrors: true
  permissions_json_dir:
    command: "chmod 777 /myIoDir/output/json"
    ignoreErrors: true
  permissions_avro_dir:
    command: "chmod 777 /myIoDir/output/avro"
    ignoreErrors: true

  • Можете ли вы показать структуру папок вашего zip-файла развертывания? 16.06.2020
  • @Marcin Я только что наткнулся на этот docs.aws.amazon.com /elasticbeanstalk/latest/dg/ Я никогда не использовал zip-архив, но могу попробовать. Будет ли это приемлемо: project.zip и внутри этого: myApp.jar .ebextensions 16.06.2020
  • Да. .ebextensions должен находиться в корне (сверху) вашего почтового индекса. 16.06.2020
  • Итак, я развернул .zip-файл и знаю, что .ebextensions прошли, потому что я видел это в журналах. Однако я все еще сталкиваюсь с проблемой отказа в разрешении, когда пытаюсь получить доступ к каталогу, созданному в моем файле .config. Я отредактирую свой вопрос, чтобы включить мой .config 16.06.2020
  • Я бы поставил ignoreErrors: false и собственно проверил какие ошибки. Также все разделы в commands выполняются в алфавитном порядке. Таким образом, обычно вы делаете 10_create_IO_dir и 20_create_input_dir или подобное, чтобы обеспечить правильный порядок. С вашей текущей настройкой неясно, выполняется ли create_IO_dir, например, до или после create_input_dir? 16.06.2020
  • @Marcin, готово. и в логах все команды выполнялись успешно. Где были созданы мои каталоги? Я не могу найти их в /var/app/current 17.06.2020
  • Вы создаете их в корневой (/) папке Linux. У вас есть / в начале каждого пути к вашей папке. 17.06.2020
  • Спасибо @Marcin, это принятый ответ для меня. 17.06.2020
  • красивый. Тогда я отвечу, если вы не возражаете. 17.06.2020

Ответы:


1

На основании команд.

Проблема заключалась в том, что папки были созданы в корне / файловой системы Linux, а не в папке развертывания.

Решение заключалось в том, чтобы исправить пути к созданным папкам.

17.06.2020
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..