Я работаю над тем, чтобы привнести немного безумия в мою среду. До сих пор мы все собирали выпуски в наших локальных системах и затем добавляли эти сборки в целевые экземпляры EC2. Это не идеально по следующим причинам:
- Я хочу использовать Linux, а не BSD, если моя целевая среда Linux.
- Я не хочу, чтобы мешали любые особенности локальной среды, и я не хочу заниматься охраной локальных сред разработчиков.
- Перенос сборок между виртуальными машинами EC2 происходит мгновенно, но может занимать потенциально длительный перенос из наши локальные системы, которые часто работают медленно c WiFi.
У меня есть devop AMI, который может быть запущен разработчиком, который имеет все инструменты для создания дистрибутива продукта. Следующим шагом для разработчика является передача этого дистрибутива в другой «целевой» экземпляр EC2, где он может быть распакован и запущен. И именно с этим scp hop от сборки до целевого экземпляра я борюсь. Мои решения, как я их вижу:
- Пусть каждый разработчик скопирует свой закрытый ключ на машину для сборки. Затем, если предположить, что целевой экземпляр был запущен тем же разработчиком, sch будет счастлив.
- Имейте общую пару ключей, назовите ее «devops». Таким образом, я могу предварительно установить закрытый ключ на сборку AMI, и, пока разработчики запускают экземпляры сборки и назначения с этими ключами, все будет прозрачно.
Оба имеют свои недостатки так что мне интересно, какова лучшая практика здесь.