Kihagyás

1. Kódbázis

Egy kódbázis, amelyet verziókövetésben nyomon követnek.

A Twelve-Factor alkalmazás mindig nyomon van követve egy verziókövető rendszerben, mint például a Git, Mercurial vagy Subversion. A verziókövető adatbázis másolata ismert kódbázisként, gyakran csak kódrepo vagy repo rövidítéssel ismert.

A kódbázis bármely egyetlen repo lehet (központosított verziókövető rendszerben, mint például a Subversion), vagy olyan repo-készlet, amely megoszt egy közös kiindulási commitot (a decentralizált verziókövető rendszerekben, mint a Git).

Mindig egy-egy kapcsolat áll fenn a kódbázis és az alkalmazás között: * Ha több kódbázis van, az nem egy alkalmazás, hanem egy elosztott rendszer. Egy elosztott rendszerben minden komponens egy alkalmazás, és mindegyik egyenként megfelelhet a Twelve-Factor szabályainak. * Több alkalmazás, amely ugyanazt a kódot használja, megsérti a Twelve-Factor elveit. A megoldás itt az, hogy a közös kódot könyvtárakba szervezzük, amelyeket a függőségkezelőn keresztül lehet belefoglalni.

Minden alkalmazáshoz egyetlen kódbázis tartozik, de az alkalmazásból sok telepítés lesz. Egy telepítés az alkalmazás futó példánya. Ez általában egy produkciós webhely, valamint egy vagy több staging webhely. Emellett minden fejlesztőnek van egy saját példánya az alkalmazásról a helyi fejlesztési környezetében, amelyek mindegyike szintén minősül egy telepítésnek.

A kódbázis az összes telepítésben ugyanaz, bár különböző verziók lehetnek aktívak mindegyik telepítésben. Például egy fejlesztőnek vannak olyan commitjai, amelyek még nem lettek telepítve a staging környezetbe; a staging környezetben olyan commitok vannak, amelyek még nem lettek telepítve a produkciós környezetbe. De mindegyikük ugyanazt a kódbázist használja, így azonosítják őket azonos alkalmazás különböző telepítéseként.