Types of Code Repository Software
A szoftverfejlesztési folyamatban, amint a programod elhagyja a rendszered vagy géped határait, általában négy kulcsfontosságú összetevőre van szükséged az alkotásod sikeresebb fejlesztéséhez: egy jól optimalizált weboldal, egy teljesen aktív levelezőlista, egy jó hibakövető és egy biztonságos kódtároló.
Még ha a szoftverfejlesztési projekthez szükséges infrastruktúra nagy része már rendelkezésre is áll a vállalat házon belüli rendszereiben, az eszközök és szolgáltatások széles skálája megkönnyítheti a fejlesztőcsapatok erőfeszítéseit egy jól felépített és sikeres szoftver karbantartására és közzétételére.
A kódtároló megoldásoknak több típusa is létezik. Van egy úgynevezett hosztolt szolgáltatás – egy neves szolgáltató által hosztolt, intézményi adattárnak nevezett forráskód-létesítmények -, amelyeket jellemzően a szervezet működtet és kezel saját verziókezelő szolgáltatásaival. Egyébként létezik az a fajta kódtároló is, amelynek infrastruktúráját maga a vállalat tervezi és kezeli.
Hosted Services
A hosztolt szolgáltatások gyakori megoldást jelentenek a szoftverfejlesztők számára, akik összetett projekteken dolgoznak munkatársakkal és committerekkel, különösen akkor, ha ezek a munkatársak több intézményben vannak szétszórva.
Ezek közül néhány nyilvános hosztolt szolgáltatás és kódtároló valójában igen népszerű az iparágban, ezek közé tartozik a GitHub, a GitLab, a BitBucket, a Launchpad, a SourceForge, a Savannah és az Assembla. Azonban nem mindegyik megoldás kínál pontosan ugyanazokat a szolgáltatásokat. A GitHub fejlesztőközpontú szolgáltatásként erős környezetet kínál a szoftverfejlesztők számára. A BitBucket az Atlassian által üzemeltetett szolgáltatás, amely szolgáltató a kollaboratív megoldásairól ismert, amelyek közé tartozik a Confluence és a JIRA.
A GitLab ezzel szemben egy webalapú Git-tárhelykezelő, amely wiki- és problémakövetési funkciókkal is rendelkezik. A szolgáltatás helyi tárolót is kínál, amelyet az intézmény vagy szervezet infrastruktúráján belül lehet telepíteni.
A SourceForge az egyik legrégebbi és legelterjedtebb hosztolt platform a szoftverfejlesztési projektek és forráskód-tárházak számára. A szolgáltató a legtöbb olyan funkciót és képességet kínálja, amelyet egy adattáraktól elvárhatunk.
A Launchpadot a Canonical üzemelteti, és számos ismert felhasználónak, például az Ubuntunak és a MySQL-nek nyújt szolgáltatást. A szolgáltatás tartalmaz funkció- és specifikációkövetést, valamint Soyuz kiadáskezelést.
Az Assembla egy népszerű hosztolt szolgáltató a kisebb csapatok és szervezetek körében. Kiterjedt projektmenedzsment-lehetőségeket, valamint szoftverfejlesztési szolgáltatásokat kínál. A Savannah a GNU-szoftverek többségét és néhány nem GNU-megoldást is kiszolgál. A platform a szabad szoftverfejlesztési projektek hosztolására összpontosít.
Intézményi kódtárolók
A hosztolt szolgáltatások és webes kódtárolók sokaságának elérhetősége ellenére még mindig számos olyan vállalat és szervezet van, amely saját verziókezelő szolgáltatásokat, levelezőlista-kezelőket és szolgáltatásokat üzemeltet.
Az ilyen típusú kódtárolók vagy szoftverfejlesztési szolgáltatások legtöbbször sokkal hatékonyabbak, ha a projekthez rendelt fejlesztők és committerek a szolgáltatást hosztoló szervezetnél találhatók. Az intézményi adattárak azonban egy maroknyi külső munkatársat is képesek kezelni.
A saját infrastruktúra kezelése és működtetése
Szóval van a hosztolt szolgáltatás, az intézményi adattár, és van a saját üzemeltetésű revízióvezérlő rendszer, mint például az SVN, a CVS vagy a Git. Vannak olyan megoldások is, amelyek lehetővé teszik a szervezetek számára, hogy saját szoftvertárat futtassanak olyan csomagok segítségével, mint a Trac, a GitLab, a Savane (amely a SourceForge-ot és a Savannah-t is működteti), a LibreSource, a GForge és a Codendi.
Ez a fajta kódtároló megoldás komoly elkötelezettséget, időt és erőfeszítést igényel a munkafolyamat és a fejlesztési folyamat beállításához és fenntartásához. A megtérülés azonban az, hogy a fejlesztőcsapatoknak és a vállalatoknak ez adja a legnagyobb kontrollt a projektjeik és az adattár felett, különösen, ha a testreszabásról van szó.