Предположим, у меня есть кричащий конвейер CI и CD, построенный с использованием инструментов, упомянутых в заголовке вопроса.Что такое хорошее решение для хранения переменных в синхронизации - Terraform, Chef, Jenkins, Octopus Deploy
Давайте также скажем, что есть файлы конфигурации и другие вещи, которые параметризуются переменными во всех этих системах. Переменные, которые, по сути, иногда должны соответствовать всем им. Хосты, порты, строки подключения и т. Д.
Как я могу или какие инструменты доступны, чтобы сохранить эти переменные в одном месте или, по крайней мере, убедиться, что они остаются в синхронизации друг с другом, когда им это нужно к?
Мое лучшее мышление до сих пор заключается в написании некоторых автоматизированных тестов, но поскольку переменные обычно хранятся в самих системах, это кажется немного неуклюжим. Я мог хранить переменные в большей конфигурации в источнике, но некоторые из них являются безопасными переменными (производственными паролями и т. Д.), И это тоже было бы компромиссом.
Есть тонна этих переменных, и я вижу, что это становится реальной проблемой, тем больше я спускаюсь по этой дороге.
Кто-нибудь еще это решил?
Отключена ли ваша конфигурация от вашего программного обеспечения? Или вы готовите конфигурацию непосредственно в свои двоичные файлы без возможности их изменения позже в конвейере CI/CD? – Bricktop
Конфигурация помечена в файлах конфигурации. – Stimul8d
Это звучит как хороший пример использования для чего-то вроде Consul - https://www.consul.io/. Вы могли бы решить как вашу проблему с синхронизацией, так и хранение защищенных переменных. –