Це в основному проблема комунікації, але ви можете зробити помилки менш ймовірними за допомогою простих технічних та організаційних заходів. По-перше, ви повинні надати добре, високоякісну документацію всіх записів у ваших конфігураційних файлах, а також якийсь легкодоступний приклад або "конфігураційний файл" за замовчуванням. Прикладний файл може бути автоматично розгорнутий у кожному середовищі, оскільки він не призначений безпосередньо змінюватися командою prod.
Далі, з кожним новим випуском, надайте журнал змін, де зафіксовані важливі зміни. Зміни в конфігурації, які могли б завадити роботі системи, коли вони відсутні, завжди важливі, тому переконайтеся, що інформація там є.
Наприклад, скажімо, команда розробників додає кілька пар ключових значень до application.properties у своєму оточенні. Який був би найкращий спосіб записати ці нові ключі, щоб, коли відбувається розгортання в команді ops, вони точно знали, які ключі додати, тож ризик запустити нову службу та побачити її не вдалося через відсутній ключ мінімізується?
Найкращий спосіб зменшити ризик виходу з ладу - це уникнути зміни вашої програми таким чином, щоб вона вимагала нових ключів, тому програма повинна бути сумісною з попередніми файлами конфігурації, коли це можливо. Часто ваша програма може вести себе розумно, надаючи вбудовані значення за замовчуванням для нових клавіш у випадку, якщо вони відсутні.
Однак якщо це неможливо, ваша система повинна максимально спростити команді prod, щоб дізнатися, чому нова служба не запускається, коли ключ відсутній. Повинно бути чітке повідомлення про помилку, в якому точно вказано , який ключ відсутній у файлі , і, якщо потрібно, де знайти інформацію про відсутній ключ, або підказку чи приклад про змістовний запис для цього ключа.
Якщо конфігурація складна, а формат змінюється способом ручного редагування, стає схильним до помилок, ви також можете розглянути можливість надання інструментів для редагування конфігурацій та переходу на новішу версію.
Наприклад, я використовую веб-браузер Firefox, і з кожним новим випуском (який я отримую автоматично) певні речі додаються до локальної конфігурації, яку можна перевірити на сторінці "about: config". Це можна порівняти з конфігурацією у вашому "виробничому" середовищі. Оскільки вся конфігурація зберігається суворо сумісно, мені ніколи не потрібно додавати нові налаштування в конфігурацію вручну лише тому, що з’явився новий випуск браузера. І для випадку, коли я хочу щось змінити там (можливо, новий запис, який не був частиною попередньої версії), я або використовую меню Інструменти / Параметри, або сторінку "about: config", і можу знайти запис плюс деякі вид документації. Тому я рекомендую спробувати впровадити вашу систему порівнянним чином.