Elastic Beanstalk не планирует задания, определенные в cron.yaml

У меня есть веб-среда и рабочая среда на Elastic Beanstalk. У меня есть cron.yaml файл, в котором есть задача, которая выполняется каждый час. Вначале, когда я развертывал с использованием eb-cli, он работал нормально.

Затем я решил использовать конвейер кода AWS для развертывания кода, и именно тогда задание cron перестало работать. Это работает так, что на этапе сборки конвейера создается образ докера и помещается в мое репозиторий ECR. Затем этот образ используется (с использованием Dockerrun.aws.json) на следующем этапе для запуска приложения в обеих средах. Но этот подход не позволяет планировать задачи, определенные в cron.yaml.

Я думаю, что с eb-cli, когда эластичный beanstalk распаковывает архив, загруженный в s3 для развертывания с помощью eb-cli, он находит этот cron.yaml файл и планирует задачу. Но с ECR это просто образ докера, и этот cron.yaml недоступен. Если это так, как я могу предоставить файл cron.yaml для эластичного beanstalk при развертывании из репозитория ECR?

Что мне не хватает?


person Farhat Nawaz    schedule 12.11.2020    source источник


Ответы (1)


Мне удалось решить эту проблему самостоятельно. Все, что вам нужно сделать, это добавить cron.yaml файл к артефактам в вашем buildspec.yml файле, например:

artifacts:
    files:
      - Dockerrun.aws.json
      - cron.yaml
person Farhat Nawaz    schedule 12.11.2020