Я осуществляю непрерывную доставку с использованием некоторых технологий и услуг, таких как докер, судоходный, AWS эластичный бобовый шток и т. Д. Однако требуется несколько (5 ~ 7) минут к приложению, которое будет автоматически развернуто на рабочий сервер, от нажатия до репозитория git.Сокращение времени доставки при непрерывной доставке, особенно в исправлении
Это довольно аккуратно, но иногда я могу сразу применить небольшое исправление для исправления, а на этот раз 5 ~ 7 минут слишком долго ждать, потому что это в основном о создании образа докера и его загрузке/загрузке, или работает npm test
и npm install
команд. Иногда я хочу пропустить эти шаги и немедленно применить изменения.
Я думаю о нескольких идеях, но у них есть некоторые проблемы:
- Открыть какой-то секрет интерфейса URI через HTTP на сервере для исправления и перезагрузки себя
- Есть две проблемы для этого; мы должны будем предоставить разные ключи github для контейнеров, и это слишком сложно, чтобы гарантировать, что все экземпляры будут исправлены, поскольку для балансировки нагрузки имеется несколько экземпляров.
- Ручной труд. Подключение непосредственно к экземплярам и залатать их
- Но мы запустили систему непрерывной доставки, чтобы избежать этого
Есть ли лучшая практика для такого рода проблемы?
Общая рекомендация: никогда не пропустите шаги вашего конвейера (это может привести к неизвестным ошибкам), никогда не выставляйте интерфейсы secure-by-obscurity (может привести к эксплойтам) и никогда не патчи вручную (может привести к пропущенным файлам). Вместо этого выясните, почему это медленно. У вас есть реестр докеров? Вы каждый раз натягиваете слой или здание с нуля? – jedifans