12 факторов. Фактор №1 — Кодовая база

26.07.2018admin

Фактор №1 — Кодовая база (code base) — первый, наверное, самый важный пункт 12 факторов. Кодовая база, которая отслеживается в любой системе контроля версий (GIT, SVN, Subverison etc.) является важнейшим и первейшим требованиям двенадцатифакторного приложения. Именно об этом и будет данная статья.

Кодовая база — это хранилище исходного кода, которое используется для сборки какой-либо отдельной программы, модуля или системы. Каждое подобное хранилище должно находится в системе контроля версий. Обязательным условием соответствия принципу 12 факторов является возможность быстро и безболезненно копировать (бранчеваться, чтоб было более понятно 🙂 ) весь проект в отдельный репозиторий (code repo). Это условие необходимо для успешного разворачивания в нескольких средах (dev/staging/production) и параллельной разработки среди более чем одного программиста.

Кодовая база, которая может быть использована в нескольких других репозиториях в явном виде (т.е. в виде include-ссылки на листинг) нарушает двенадцатифакторный принцип, т.к. в любой момент могут произойти необратимые изменения и контролировать подобные изменения довольно-таки трудно. Решением является — оформить кодовую базу в отдельную библиотеку и определить её как зависимость; не забывая о правилах семантического версионирования, конечно.

Следует помнить, что у приложения должна существовать только одна, единая кодовая база. И из неё могут совершаться множество развёртываний. Развёртывание (deploy) в данном случае — это процесс компиляции, сборки и запуска одного экземпляра приложения. Да, это рабочий production сервер, а также другие вторичные среды — staging, dev, qa, uat или же просто локальный подъём сервиса на компьютере разработчика, в том числе дебаг. Таким образом, конечно, можно сделать вывод, что кодовая база едина, но позволяет некоторые (в идеале — самый минимальный) несинхрон в версиях. Это нормально. Нормально, что у нас dev уезжает впрерёд, а локальная версия на конечном компьютере разработчика — ещё дальше. Главное — это цикл, который каждый раз, после каждого мержа веток будет уменьшать данный разбег.

Leave a comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Предыдущая запись Следующая запись