Просмотрите настройки приложения в AWS - PullRequest
0 голосов
/ 28 апреля 2020

Я ищу указатели в правильном направлении с AWS. Ранее я работал с Heroku, которая позволяет пользователям создавать приложения для проверки каждого запроса на добавление, созданного вами в Github. Это была замечательная функция, поскольку она позволяет создавать отдельные среды (база данных, вычислительный экземпляр / лямбда, URL) для предварительного просмотра изменений. Вы можете попросить пользователей протестировать запрошенную ими функцию по уникальному URL-адресу, например https://my-test-app-123.domain.com

. Я ищу подобное решение, используя AWS. Мне интересно, есть ли такая услуга, о которой я не знаю. Я взглянул на Elasti c Beanstalk, но я не уверен, как настроить его так, чтобы он знал обо всех запросах на получение, которые я сделал в Github.

Идеальная настройка:

Три среды: Просмотр приложений (на основе ветвей), QA (на основе master ветви), Производство (на основе ручного продвижения из QA).
- Для каждого запроса извлечения создайте уникальные экземпляры: S3, DynamoDB, Лямбда, API-шлюз (для уникального URL). Запустите тесты против этой PR-среды. Переменные среды для приложений обзора следует копировать из QA, кроме тех, которые указывают на вновь созданные службы поддержки, такие как S3, DynamoDB.
- всякий раз, когда существует фиксация ветки master, необходимо обновить само окружение QA, чтобы оно соответствовало тому, что находится в Мастер ветка.
- Возможность запуска повышения из QA в производство вручную.

На какие услуги мне следует обращаться? CloudFormation звучит как правильная ставка, но она очень сложная, я не уверен, с чего начать.

1 Ответ

0 голосов
/ 28 апреля 2020

У меня не будет ответов на все ваши требования, но если вы спросите о начале, я думаю, стоит подумать о следующем:

  1. Иметь CodePipeline с исходное действие установлено на GitHub.

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

  3. CodePipepline также поддерживает действия по вызову Lambda и ручные утверждения, например, для развертывания на производстве. В большинстве сложных случаев вы можете создавать собственные настраиваемые действия с персонализированными рабочими местами для CodePipeline.

CloudFormation не идеальна, поскольку стоит потратить время на ее изучение.

Надеюсь, что это поможет вам начать. Если вы хотите создать разные наборы ресурсов для каждого PR / коммита, я бы предложил начать с написания шаблона CloudFormation для развертывания единого набора ресурсов, который вам требуется. Затем настройте параметры так, чтобы вы могли сделать несколько наборов ресурсов из одного шаблона. При параметризации можно подумать о том, как подключить его к CodePipeline для создания ресурсов на основе изменений вашего GitHub.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...