I. Кодовая база
Одна кодовая база в системе контроля версий
Множество развёртываний
Приложение двенадцати факторов всегда отслеживается в системе контроля версий — Git, Mercurial или Subversion. Копия базы отслеживаемых версий называется репозиторием кода (code repository, или repo).
Кодовая база — это один репозиторий (в централизованных системах как Subversion) или множество репозиториев, имеющих общие начальные коммиты (в Git).
Всегда есть однозначное соответствие между кодовой базой и приложением:
- Несколько кодовых баз — это не приложение, а распределённая система. Каждый компонент может индивидуально соответствовать двенадцати факторам.
- Несколько приложений, разделяющих код — нарушение. Решение: вынести общий код в библиотеки и подключать через менеджер зависимостей.
Кодовая база едина для всех развёртываний, но версии могут различаться. Разработчик, staging и production используют одну кодовую базу — это разные развёртывания одного приложения.