Как вы обрабатываете конфиденциальные данные в общедоступном репозитории git?

Как вы обрабатываете конфиденциальные данные, такие как секретные ключи API, хеш-соли, когда вы храните свой код в общедоступном репозитории git?

Очевидно, что сохранение конфиденциальных данных в коде приведет к его компрометации.

Еще одно решение — не записывать секретную информацию в код, а хранить ее в отдельном файле и игнорировать этот файл в git. Недостатком этого является то, что когда кто-то извлекает ваш код в первый раз, секретная информация будет отсутствовать, и она не будет запускаться из коробки. Это можно объяснить, написав в коде процедуру «инициализировать, если отсутствует», но тогда вы позволяете системе git проскальзывать в свой код, что, по моему мнению, не очень хорошо.

Еще одно решение — создать файл секретной информации «по умолчанию», зафиксировать его в начале проекта, а затем использовать свою собственную информацию без ее фиксации. Но это может заставить git жаловаться, что у вас есть незафиксированные изменения, когда вы тянете.

Итак, каков общий способ справиться с этим?

21
задан orlp 4 March 2012 в 15:28
поделиться