Флаги функций — их еще называют переключателями функций или переключателями релизов — позволяют включать и отключать определенные функции ПО, не меняя сам код.
Флаги функций особенно полезны, если вы используете CI/CD в сочетании с магистральной разработкой: можно объединять изменения с основной веткой и производить развертывание из нее, а новые функции сделать временно недоступными для пользователей. Кроме того, отделив развертывание от выпуска, проще согласовывать усилия по развитию продукта и продвижению новой функциональности среди пользователей.
Флаги функций можно внедрить с помощью простого файла конфигурации: это позволит включить функцию в одних окружениях (например, для тестирования) и отключить в других (пре-продакшн и продакшн). При этом нужно помнить, что флаги функций значительно усложняют работу и требуют большого количество ручных операций.
Если у вас одновременно много флагов функций или вы с их помощью включаете функции для альфа- и бета-тестирования с участием пользователей, возможно, стоит использовать базу данных или специальный инструмент, чтобы упростить управление функциями.