2016-05-27 4 views
-1

Я изучаю подход использования Jenkins для запуска процесса сборки и переноса требуемой ветви git в ведро Amazon S3, а затем запускает развертывание AWS Codedeploy, чтобы оттуда оттуда развернуть его в соответствующих экземплярах.Могу ли я использовать AWS Codedeploy вместе с Дженкинсом для этого варианта использования?

Архитектура и использование случаев

  • У нас есть несколько экземпляров EC2 позади балансировки нагрузки.
  • Иногда некоторые экземпляры, возможно, потребуется развернуть с другой веткой git (чтобы протестировать некоторую функцию перед ее развертыванием во всех экземплярах, и это может потребоваться сохранить во время последующих развертываний).
  • Несмотря на то, что несколько ветвей git развернуты в нескольких наборах экземпляров, нам может понадобиться развернуть на них некоторые ветви, в зависимости от их текущих ветвей.

Особенности поддерживаться

  • Во время развертывания, предоставление сделать некоторые проверки на каждом отдельном случае группы развертывания и отображения экземпляров, на которых тот же неудачные, а затем попросить ручного подтверждения и действовать соответственно. Я предполагаю, что существует вероятность того, что один или несколько экземпляров имеют что-то другое, и некоторые проверки, выполненные одним из сценариев, терпят неудачу (со ссылкой на параметры, предоставленные в файле appspec). Я бы не хотел, чтобы он вызывал сбои сборки, но хотел бы видеть отчет об этом на панели управления развертыванием AWS, и он должен дождаться ручного вмешательства, чтобы решить, следует ли продолжать.

  • Предоставление интервалов между развертыванием по партиям экземпляров в рамках одной группы развертывания и запрос на подтверждение вручную. Я уже знаю об этой функции «Конфигурация развертывания», которая определяет количество экземпляров для развертывания за один раз, может быть настроено - например. halfatatime. Тем не менее, у нас есть этот процесс ожидания в течение нескольких минут после развертывания на пакет, скажем 10 коробок, а затем вручную контролировать нагрузку и действовать, если все в порядке. Это делается вручную.

+0

@Downvoter, позаботьтесь, чтобы объяснить? –

ответ

1

Извините за возвращение так поздно. Некоторые из запрошенных функций напрямую не доступны ATM. Однако есть косвенные способы обойти их.

  1. «Иногда, некоторые из случаев, возможно, потребуется развернуть с другой мерзавцем ветвью (чтобы проверить некоторые функции, перед прокаткой на все случаи, и это, возможно, должно быть сохранено во время последующего развертывания).» У вас могут быть разные группы развертывания в рамках одной и той же заявки для тестовых и производственных экземпляров

  2. Нет возможности приостановить развертывание между шагами, чтобы запросить подтверждение вручную. Тем не менее, если вы хотите, чтобы проверка не смогла остановить развертывание, вы можете установить безопасные минимальные критерии для здоровых хостов и испускать журналы из всех экземпляров в облачные часы, чтобы просмотреть подробные результаты для каждого экземпляра.

  3. Нет возможности приостановить развертывание после завершения партии. Однако вы можете вручную ввести период выпекания в качестве части развертывания и, при необходимости, прервать развертывание.

Извините, но я не мог больше помочь с вашим прецедентом. Однако я надеюсь, что это поможет.

Thanks