A kódolás és szoftverfejlesztés manapság igen felkapott. Ennek megfelelően az ezen a területen használt programok iránti kereslet is rendkívüli. Ez egy erősen konkuratív környezetet hozott létre az online világban, ahol különféle kódolási és DevOps programok küzdenek a legelterjedtebb program elismeréséért a saját kategóriájukban. A Git az egyik ilyen program. Az új, távoli munka normalizálódásával, amely többnyire képernyő mögött végzett munka, sok ember a Git-et és más programjait távoli szervereken üzemelteti. Ha te is ebben a csapatban vagy, és szeretnél saját Git szervert üzemeltetni, akkor jó helyen jársz.
Ebben a cikkben bemutatom, hogy pontosan mi is a Git, kitérek az előnyeire és hátrányaira, majd megmutatom, milyen követelményekre van szükséged a saját Git szerver üzemeltetéséhez. Rajta!
Mi a Git?
Git egy DevOps program, amely lehetővé teszi a kódolóknak és programozóknak, hogy végigmenjék projektjeiket és a lehető leghatékonyabban végezzék el azokat. A Git legalapvetőbb funkciója a forráskód időbeli változásainak nyomon követése. A Git ingyenes és nyílt forráskódú és rendszeres frissítéseket kap. Ez a Gitot az egyik legkönnyebben hozzáférhető és megbízható kódolási DevOps program világszerte. Minden számítógép, ahol a Git egy példánya található, teljes verziókövetési adattárként működik saját, külön történettel minden fájlváltozáshoz. A Git közel 20 évnyi aktív fejlesztése és több mint 30 kiadott frissítése után a program jelenleg a 2.40.0-ás verziót futtatja, további frissítések várhatóak. Most nézzük meg a Git felhasználási eseteit, hogy jobban megértsük, miért is szeretnénk Git szervert telepíteni.
A Git felhasználási esetei
Mielőtt saját Git szervert hosztolnál, ismerjük meg a Git fő felhasználási eseteit. Így világosan láthatod, miért érdemes egyáltalán Git szervert futtatni.
Tárház klónozása
Sok fejlesztő saját Git repository-t hoz létre a szerverén, hogy nyomon kövesse a kódot és fájlokat. A Git néhány alapvető paranccsal lehetővé teszi az aktuális Linux kernel repository másolását és egy sokkal átláthatóbb, hatékonyabb changelog készítését — csak azoknak a fájloknak a változásait rögzítve, amelyek érdekelnek. Az egész folyamat egyszerű, és ezzel könnyedén kezelhetsz kis és nagy projekteket. Ezt a módszert "elágazás"-nek is nevezik, mivel lényegében egy új ágat hozol létre a meglévő repository-ból.
Git Munkafolyamat
A Git Workflow egy másik fontos felhasználási eset, amellyel akkor találkozol, ha saját Git szervert állítasz be. A lokális Git szerverrel két ágkészletet hozhatsz létre a klónozási folyamat segítségével — az egyik reprezentálja például a weboldalad. Ezután egy külön production ág-gal ellátott Git szervert hozhatsz létre, ahol a fejlesztők összes módosítása rögzítésre kerül, és még tesztelésre is kerülhet a megvalósítás előtt. Ez a többrétegű megközelítés nemcsak hatékonyabbá teszi a fejlesztést és tesztelést, hanem a verziókövetés és a változások nyomon követése is sokkal könnyebbé válik.
Egyesítés
Emlékszel az ágakra és a changelogra? Az Merge — ahogyan a neve is sugallja — ennek az ellenkezője. A Merge a Git egyik legkihívóbb aspektusa: egy repository ágból az adatokat visszajuttatjuk az eredeti master repository-ba, amelyből az ág kimaradt. Ez általában azért történik, hogy egy átfogó projekt-jelentést és verzióistóriát hozz létre, amely a különböző helyekről származó összes projektváltozást tartalmazza egyetlen áttekinthető repository-ban. Habár a fejlesztés során az ágak megelőzik a zűrzavart, a Merge a végén nagyobb átláthatóságot ad és segít a hibakeresésben.
Saját Git szerver hosztolása: előnyök és hátrányok
Minden programnak megvannak az olyan döntő előnyei és hátrányai, amelyeket ismerni kell. Ebben a részben a Git előnyeit és hátrányait tárgyaljuk — de csak azok alapján, ha saját szerveren hosztolod, amit ez az útmutató gyakorlatilag erről szól.
Saját üzemeltetésű Git: előnyök
Nincs harmadik fél bevonódása
Saját üzemeltetésű Git esetén csak te és a csapatod érhetitek el a fájlokat. Ez gyakorlatilag kiküszöböli a nem kívánatos harmadik fél bevonódást, és könnyedén dolgozhatsz a projekten. Az adataid biztonságosabbak lesznek, és az erőforrásaidat máshol felhasználhatod.
Biztonság
A biztonság szempontjából a Git olyan biztonságos, amennyire csak szeretnéd — jó gyakorlatok és harmadik fél eszközei segítségével. Bár saját üzemeltetés esetén valamivel kisebb a biztonsági szint, szinte korlátlan szabadságod van a saját rendszer biztonságával kapcsolatban.
Korlátlan tárhelyek
Emlékszel a klónozásra és az ágakra? Nincsen limit arra, hány repository-t hozhatsz létre a Gittel. Ez nagyobb projektekhez ideális, ahol minden fejlesztési ágnak szüksége van a saját repository-jára. Ez nagyobb fájlokkal (például 3D asszetek) vagy Unity projektekkel dolgozó csapatoknak is remek.
Saját üzemeltetésű Git: hátrányok Hátrányok
Jelentős menedzsment igény
A Git repository-k gyorsan felborulhatnak, ha saját szerveren hosztolod. Az összes ág és metaadatok kezelése hamar fejfájássá válhat. Vagy rendkívül precíznek kell lenned, vagy megbízol egy tapasztalt fejlesztőre.
Meredek tanulási görbe
Az egyik dolog a Git hosztolása, de másik egy dolog azt teljes mértékben megtanulni és futtatni. A Gitnek viszonylag magas a tanulási küszöbe az DevOps eszközök között, és rengeteg időt kell rá fordítani — vagy kívülről meg kell szerezni a segítséget.
Nincs grafikus felület és Windows támogatás
Git szervert szeretnél beállítani Windows-on? Vagy a grafikus felülettel szeretnéd konfigurálni a Git szervert? Sajnos nincs ilyen lehetőség. Az Linux kernelre épülő operációs rendszerekre korlátozódik, és nincs grafikus felület. Saját Git szervert szeretnél telepíteni és üzemeltetni? Tanulnod kell az alapokat.
Elavult módszer
Gyakorlatilag minden metrika szerint a saját szerveren üzemeltetett Git elavultnak tűnik a hatékonyabb alternatívákhoz képest. A hatékonyabb Git megoldások közé tartozik az GitLab futtatása, ezért mielőtt saját Git szervert indítanál, nézz meg GitLab is!
A Git szerver telepítéséhez szükséges követelmények
Most gyorsan ismerjük meg, mit kell a Git szerver beállításához és hosztolásához. Mindössze két dologra van szükséged: egy szerverre és egy Git instance-re, plusz némi kódolási tudás a konfiguráció elvégzéséhez.
Git kiszolgáló
A szerverre nézve választhatsz egy másik saját gépet, használhat egy hagyományos üzemeltetőtől vásárolt dedikált szervert, vagy ha jobban szeretsz kézügyesen dolgozni, egy felhő VPS (virtuális privát szerver) használhatsz. Egy VPS-val közvetlenül kezelheted a szervert és egyszerre működtetheted a Git instance-t. Fontos megjegyezni, hogy a szerverednek Linux disztribúcióval kell rendelkeznie a Git szerver beállításához. A Cloudzy széles választékot kínál Linux VPS szolgáltatásokkal, több mint 10 réputációs Linux disztribúcióval, például Ubuntu, Debian, CentOS, Kali és OpenSUSE. Már havi $4.95-ből elindulva egy megbízható Linux szervert szerezhetsz a közelben lévő helyen, amely remek kapcsolatminőséget biztosít, és használhatod saját Git szerver üzemeltetésére!
Szerezz egy economy vagy premium Linux VPS weboldal vagy remote desktop hosztingolásához, a piacon a legolcsóbban. VPS Linux KVM-en futtatva a nagyobb hatékonyság érdekében, és erőteljes hardveren működve NVMe SSD tárolóval a nagyobb sebesség érdekében.
TovábbiakGit-példány
A Git szerver beállítása egyszerű, és automatikusan megtörténik a telepítés részeként. Ahogy említettük, a Git nyílt forráskódú és ingyenes. Ez teszi előnyben részesítetté sok más kódolási és fejlesztésre összpontosított adattár-alapú program felett. Most, hogy megvannak az előfeltételek, kezdjük meg a lépésről lépésre szóló útmutatónkat a Git szerver telepítéséhez az Linux szerveren!
Git szerver telepítése az Linux szerveren (Lépésről lépésre útmutató)
1. lépés: Git letöltése és telepítése
Ez az első lépés a Git szerver telepítési folyamatában. Az Linux disztribúció termináljában írja be a következő parancsot a Git letöltésének megkezdéséhez:
Ubuntu/Debian alapú disztribúciók:
sudo apt install git
Arch alapú disztribúciók:
sudo pacman -S git
RHEL alapú disztribúciók:
sudo dnf install git
Ez a parancs letölti és telepíti a Git szoftvert az Linux szerverre. Várja meg, amíg a folyamat befejeződik.
2. lépés: Git szerver regisztrálása és konfigurálása
Ha van egy helyi szevere egy másik számítógépen, indítsa el. Ha van VPS, az SSH vagy RDP használatával kapcsolódhat az Linux szerverre távolról. Most konfigurálni fogjuk a Git szervert a távoli futáshoz. Ezt egy Git fiók létrehozásával tesszük az alábbi paranccsal:
ssh username@address
sudo useradd git
Ezután írja be ezt a parancsot az újonnan létrehozott fiókra való váltáshoz:
su git
Ez a lépés főleg a Git helyi szerver biztonsága érdekében történik. Ezzel a fiókkal a szerver rendszergazdája lesz. Biztonságosan szervezhet potenciális felhasználókat csoportokba előre meghatározott korlátozásokkal és hozzáférési szintekkel.
3. lépés: SSH könyvtárak létrehozása és Git adattár létrehozása a szerveren
A Git szerver telepítési folyamatának következő lépése egy kizárólagos SSH könyvtár létrehozása a mentéshez nyilvános kulcsok és egy Git adattár létrehozása a szerveren további biztonsági rétegekkel és meghatározott hozzáférési szintekkel. Kezdje az alábbi parancs beírásával:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Miután korlátozta mások hozzáférését ezzel a paranccsal, írja be a következő sort, hogy biztosítsa az SSH kulcsok biztonságos tárolását egy authorized_keys mappában, ahol csak Ön férhet hozzájuk (csak akkor futtassa ezt a parancsot, ha NEM rendelkezik egy id_rsa.pub fájl):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Végül másolja az SSH nyilvános kulcsot, amelyet az új SSH kapcsolat beállításához hozott létre a fokozott biztonsággal a Git helyi szerverre:
cd .ssh
vi authorized_keys
4. lépés: Fő könyvtár létrehozása
Az Linux szerveren létre kell hoznia egy új könyvtárat az összes adattár mentéséhez, amelyet a Git a jövőbeli projektekben használni fog. Tanulmányozza a Git adattárak kezelésének részleteit. Írja be ezt a parancsot:
mkdir directory_name
5. lépés: Adja hozzá projektjét!
Sikeresen létrehozta a Git szervert! A Git szerver telepítési folyamata sikeresen befejeződött, és a Git szerver konfigurálása is sikeres volt. Már csak további projektek hozzáadása marad az alábbi paranccsal:
cd parent_directory
mkdir new_project.git
Ezután írja be ezt a parancsot a távoli forrás hozzáadásához a helyi számítógéphez:
git init --bare
git remote add origin name git@address:new_project.git
Végül hajtsd végre a Git push parancsot, hogy tesztelhesd, minden a terv szerint működik-e:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Gratulálunk! Sikeresen hoztál létre egy git tárolót a szerveren.
Gyakran Ismételt Kérdések
Hosztálhatok Git-et szerver nélkül?
Nem. Függetlenül attól, hogy milyen típusú szervert szeretnél, szerverhardverre szükséged lesz. Az GitHub-t használhatod felhő szerverként az adattáradhoz, vagy használhatod az VPS ajánlatot használ, vagy egy másik harmadik fél által nyújtott hosting szolgáltatást használ szerverként.
Lehet-e grafikus felülettel rendelkező Git szervert telepíteni?
Igen. Bár maga a Git nem támogat grafikus felületet, létezik egy önálló verzió "Git GUI" néven, amelyet azok számára kínálunk, akiknek szükségük van a grafikus kezelésre.
Van fizetős csomag a Githez?
Nem. A Git mindig is ingyenes és nyílt forráskódú szoftver volt, és az marad, ahogyan az eredeti fejlesztői és kiadói is tételezik fel. A programot felhasználhatod a saját fejlesztéseidben, és nincs semmiféle költséged.
Miért érdemesebb saját Git szerverre költözni?
Tegyük fel, hogy egy kisebb projektett szeretnél futtatni, kevés repositorival. Ebben az esetben az önkiszolgáló megoldás sokkal magánabb és biztonságosabb. Ez az elsődleges indok. De ahogy nagyobb projektekre költöztetsz több repositorival, az önkiszolgáló megoldás hatékonysága kezd csökkenni.