#python #amazon-web-services #flask #amazon-elastic-beanstalk
Вопрос:
Я на Windows 10.
Я создал и git инициализировал простое приложение flask, которое содержит:
- .мерзавец
- .platform/hooks/postdeploy/01_runsomething.sh (содержит «#!/bin/sh python print_helloworld.py»)
- .ebignore (игнорирует «venv»)
- венв
- application.py
- print_helloworld.py (независимый файл Python, содержит «печать(«привет, мир»)»)
- requirements.txt
Приложение Flask отлично работает на моем персональном компьютере. Я пытаюсь загрузить его на эластичный бобовый стебель и запустить «print_helloworld.py» периодически после развертывания.
Но приложение flask получает ошибку во время развертывания:
2021/11/11 19:56:13.160939 [INFO] Executing instruction: RunAppDeployPostDeployHooks
2021/11/11 19:56:13.160959 [INFO] Executing platform hooks in .platform/hooks/postdeploy/
2021/11/11 19:56:13.161018 [INFO] Following platform hooks will be executed in order: [01_runsomething.sh]
2021/11/11 19:56:13.161027 [INFO] Running platform hook: .platform/hooks/postdeploy/01_runsomething.sh
2021/11/11 19:56:13.162276 [ERROR] An error occurred during execution of command [app-deploy] - [RunAppDeployPostDeployHooks]. Stop running the command. Error: Command .platform/hooks/postdeploy/01_runsomething.sh failed with error fork/exec .platform/hooks/postdeploy/01_runsomething.sh: permission denied
Что я могу сделать, чтобы устранить эту ошибку разрешения?
Я сделал 01_runsomething.sh исполняемый файл с помощью Ubuntu (загруженный из магазина Microsoft) в Windows 10 и используемый:
chmod x .platform/hooks/postdeploy/01_runsomething.sh
git update-index .platform/hooks/postdeploy/01_runsomething.sh
Затем я проверил разрешение на Ubuntu (ls-l .platform/hooks/postdeploy/01_runsomething.sh), и это выглядит так:
-rwxrwxrwx 1 root root 279 Nov 10 20:33 .platform/hooks/postdeploy/01_runsomething.sh
Но приложение flask по-прежнему возвращает ту же ошибку на эластичном бобовом стебле. Не уверен, что это решение сработает.
Что я могу сделать, чтобы устранить эту ошибку разрешения?
Комментарии:
1. Можете ли вы изменить содержимое 01_runsomething. sh в #!/bin/sh повторяет «ТЕСТ» и повторяет попытку?
2. @Питер, Привет. Спасибо. К сожалению, это не сработало. Он по-прежнему возвращает ту же ошибку.
3. Мой другой совет: владелец файла отличается от пользователя, который запускает хуки. Попробуйте написать файл где
/tmp
-нибудь и проверьте разрешения этого файла, кто является владельцем и т.д., Чтобы, наконец, вы увидели, откуда берется проблема с разрешениями.4. Я считаю, что это команда, которую вы должны использовать —
git update-index --chmod= x path/to/file
. Git пометит файл как измененный, и вы должны его зафиксировать.