У нас есть давно работающий кластер EMR, на котором установлено несколько библиотек с использованием действий начальной загрузки. Некоторые из этих библиотек находятся в стадии непрерывной разработки, а их кодовая база находится на GitHub.
Я пытался подключить Travis CI к AWS EMR аналогично Travis и CodeDeploy. Идея состоит в том, чтобы протестировать код на GitHub и автоматически развернуть его в EMR, используя действия начальной загрузки для установки обновленных библиотек на всех узлах EMR.
Решение, которое я придумал, состоит в том, чтобы использовать инстанс EC2 посередине, где Travis и CodeDeploy можно сначала использовать для развертывания кода на инстансе. После этого на экземпляре запускается сценарий обеда для создания нового кластера EMR с обновленными библиотеками.
Однако приведенное выше решение означает, что нам нужно создавать новый кластер EMR каждый раз, когда мы развертываем новую версию системы.
Любые другие предложения?