Запуск¶
Получив команду на запуск, облако Amvera ищет в папке Code конфигурационный файл amvera.yaml
.
Возможны три ситуации:
Отсутствует
amvera.yaml
, но удается найтиDockerfile
.Начинается запуск образа, полученного в результате сборки Dockerfile.
Отсутствует и
amvera.yaml
иDockerfile
.Запуск завершается ошибкой.
Присутствует
amvera.yaml
.Начинается запуск приложения.
Процесс запуска с amvera.yaml
¶
Облако Amvera считывает раздел meta
из файла конфигурации amvera.yaml и ищет подходящий инструмент для запуска в
списке поддерживаемых окружений. Под инструментом для запуска подразумевается готовый образ с установленным в него
программами, которые позволят запустить приложение (python, JVM и т.д). Выбранный благодаря конфигурации образ запускается
в новом контейнере с параметрами, указанными в секции run
этой-же конфигурации.
В процессе создания контейнера в него монтируются две папки:
artifacts
- папка с полученными в результате процесса сборки файлами (может затираться при пересборке). Монтирование происходит в папку/app
запущенного контейнера.data
- папка постоянного хранилища, которую не затрагивает процесс сборки и, следовательно, файлы остаются нетронутыми. Для хранения получаемых в процессе работы программы данных, таких как: БД, логи и т.д. необходимо использовать именно эту папку. Монтирование происходит в папку/{persistenceMount}
, заданную конфигурации (по умолчанию/data
).
В процессе запуска статус приложения будет «Выполняется запуск», который при успехе сменится на «Приложение запущено».
В случае, если статус «Ошибка развертывания» или проект долго висит в статусе «Выполняется запуск» стоит искать проблему в
секции run
файла конфигурации.
Жизненный цикл¶
Важно
В первые минуты работы приложения статус может быть «Ошибка работы приложения», так как приложение формально ещё не запустилось и Амвера не может явно определить его точный статус.
Amvera стремиться обеспечить бесперебойную работу развернутого приложения. Если приложение по какой-либо причине завершает работу (возникло исключение, программа дошла до конца) оно автоматически будет перезапущено. Если возникающая ошибка не дает проработать приложению больше минуты, то статус приложения переходит в «Ошибка работы приложения», однако облако продолжает пытаться его перезапустить снова и снова. Если впервые развернутое приложение находится в этом состояние больше получаса, то оно автоматически останавливается и переходит в статус «Остановлено из-за повторяющейся ошибки».
Важно
Для профилактики ошибок работы приложения рекомендуем перейти во вкладку «Лог приложения»
Остановка приложения¶
Если требуется на время остановить проект, можно воспользоваться кнопкой «Включить/Выключить» или задать желаемое кол-во реплик равное нулю на панели инструментов. При этом данные во всех папках остаются нетронутыми.
Если приложение находится в выключенном статусе более 30 дней, то оно автоматически замораживается.
Заморозка приложения¶
Если приложение больше не нужно, но вы хотите сохранить данные в репозитории и в постоянном хранилище, то можно воспользоваться кнопкой «Заморозить проект» во вкладке «Настройки».
При заморозке полностью очищается папка Artifacts, а так-же привязанные домены. Приложение переходит в статус «Заморожено». Для разморозки требуется инициализировать процесс сборки проекта и выставить кол-во желаемых реплик более нуля.
Лог приложения¶
Для отслеживания работы приложения следует воспользоваться консолью вывода логов, которая находится во вкладке «Лог приложения». Загрузка логов может занимать некоторое время и работать с задержкой.
Для загрузки логов необходимо нажать на кнопку «Загрузить историю», которая расположена в нижнем правом углу окна логов и выглядит как циферблат.