Я разработчик, поэтому не настолько опытен, как хотелось бы, в администрировании серверов. По сути, я пытаюсь понять, как создать базовый образ (AMI), который можно использовать при разработке, тестировании, постановке и производстве.
РАЗРАБОТКА
Мои мысли до сих пор использовали Упаковщик для создания AMI, но также экспортировать его как Vagrant box. Тогда для разработки мы сможем легко vagrant up
в той же среде, что и в производстве. Я тестировал это и пока не могу успешно создать экземпляр EC2 из-за странных проблем с SSH ... но это тема для другого вопроса.
ТЕСТИРОВАНИЕ
Мы пытаемся использовать Atlassian Bamboo для создания сервера сборки. Он может загрузить AMI и развернуть экземпляр EC2 на AWS для запуска процесса сборки / тестирования. Я думаю, мы бы загрузили AMI, созданный на этапе разработки, не уверен, возможно ли это. Кто-нибудь еще это делал?
СТАДИЯ
Когда сборка / тесты проходят в Bamboo, мы помещаем код в ветвь выпуска и тестируем его в промежуточном режиме, который, как вы, возможно, уже предвидели, также будет использовать тот же AMI.
ПРОИЗВОДСТВО
Наконец, когда код протестирован, он попадает в главную ветку и развертывается на главном сервере (ах), на котором также работает тот же AMI.
Теоретически все это звучит так просто и понятно. На практике это кошмар конфигурации. Является ли это разумным процессом, и следует ли мне протолкнуться, чтобы во всем разобраться, или есть лучший способ сделать это? Должен ли я просто вручную написать сценарий bash, который использует инструменты консоли AWS для всего этого?