V poslední době roste poptávka po programech pro vývoj software a kódování. S tím se zvyšuje i konkurence mezi různými DevOps nástroji, které si všichni vývojáři chtějí vzít do své práce. Git je jeden z těchto nástrojů. A vzhledem k tomu, že dnes mnoho lidí pracuje na dálku, na svých počítačích, a potřebují sdílet svoje projekty včetně Gitu na vzdálených serverech, rozhoduje se stále více vývojářů provozovat vlastní Git server. Pokud i vy patříte do této skupiny a chcete si nainstalovat vlastní Git server, jste na správném místě.
V tomto článku si nejdřív vysvětlím, co Git přesně je, uvedu jeho výhody a nevýhody, a pak vám ukážu, co všechno potřebujete k tomu, abyste si mohli provozovat vlastní Git server. Začínáme!
Co je Git?
Git je DevOps nástroj navržený tak, aby vývojáři mohli pracovat na svých projektech co nejefektivněji. Nejdůležitější funkcí Gitu je sledování změn zdrojového kódu v čase. Git je zdarma a otevřený a dostává pravidelné aktualizace. Díky tomu je Git jedním z nejpřístupnějších a nejspolehlivějších DevOps nástrojů na světě. Každý počítač, kde je nainstalován Git, funguje jako plný repozitář se svou vlastní historií všech změn souborů. Po téměř 20 letech vývoje a více než 30 vydaných aktualizacích běží Git v současnosti v verzi 2.40.0, přičemž jsou v plánu další aktualizace. Podívejme se nyní na konkrétní případy použití Gitu, abychom lépe pochopili, proč bychom si měli vlastní Git server nainstalovat.
Případy použití Gitu
Než se pustíme do nastavení vlastního Git serveru, pojďme si rychle ujasnis, k čemu se Git nejčastěji používá.
Klonování úložiště
Mnoho vývojářů si vytváří Git repozitář na serveru, aby mohli sledovat programy a soubory, které vyvíjejí. Git umožňuje jednoduše a pomocí několika základních příkazů vytvořit kopii vašeho repozitáře Linux kernelu a použít ji k vytvoření přesnějšího a efektivnějšího protokolu změn pouze souborů, které vás zajímají. Proces je jednoduchý a lze s ním snadno spravovat malé i velké projekty. Tento proces se také nazývá "větvení", protože v podstatě vytvoříte novou větev z vašeho stávajícího repozitáře.
Pracovní postup Git
Workflow Gitu je dalším hlavním případem použití, který budete mít jakmile si nastavíte vlastní Git server. Pomocí clonování můžete vytvořit dva soubory větví, kde jedna reprezentuje váš projekt, například webové stránky. Pak můžete vytvořit produkční větev, kde se budou zaznamenávat a testovat všechny změny od všech vývojářů, než se nasadí. Tento vrstvený přístup k vývoji a testování nejen zvyšuje efektivitu, ale také usnadňuje sledování vývoje a změn.
Slučování
Pamatujete si na větvení repozitáře a protokol změn? Sloučování je, jak už název napovídá, přesný opak tohoto procesu. Sloučování se považuje za nejnáročnější aspekt Gitu. Sloučování znamená, že data z jedné větve vrátíte zpátky do hlavního repozitáře, ze kterého se oddělila. Obvykle se to dělá, aby se vytvořil komplexní přehled projektu a historie všech změn z různých částí projektu v jednom přehledném repozitáři. Zatímco během vývoje projektu potřebujete větvení, aby se nedocházelo k nedorozuměním, sloučování vám pomůže vrátit se k velkému obrázku na konci projektu a usnadní řešení problémů.
Provozování vlastního Git serveru: Výhody a nevýhody
Každý program má sadu výhod a nevýhod, které byste měli znát. V této sekci si povíme o výhodách a nevýhodách Gitu, konkrétně pokud si ho provozujete sami, což je předmětem tohoto průvodce.
Vlastní Git server: Výhody
Žádné třetí strany
Pokud si Git provozujete sami, budete jediní, kdo bude mít přístup k vašim souborům. Zcela tak eliminujete nežádoucí zapojení třetích stran a budete moci pracovat na svém projektu bez obav. Vaše data budou bezpečnější a budete moct bezpečnostní prostředky přeorientovat jinam.
Zabezpečení
Pokud jde o bezpečnost, Git může být bezpečný, pokud si jej správně zabezpečíte a použijete osvědčené postupy. Sice je bezpečnost o něco nižší než u nástrojů od třetích stran, ale máte prakticky neomezené možnosti, jak si svoji operaci zabezpečit.
Neomezená úložiště
Pamatujete si na clonování a větvení? Počet repozitářů, které si můžete vytvořit, není omezen. To je ideální pro větší projekty, kde každá vývojová větev potřebuje svůj vlastní repozitář. Také je to skvělé pro projekty s velkými soubory, jako jsou 3D assety, nebo když pracujete s Unity.
Vlastní Git server: Nevýhody Nevýhody
Vysoká náročnost správy
Git repozitáře se mohou snadno vymknout kontrole. Pokud si Git server nastavíte sami, správa všech větví a metadat se vám velmi rychle může stát nepříjemnou povinností. Buď musíte být v tom neuvěřitelně přesní, nebo si najít někoho zkušeného, kdo to bude spravovat.
Strmá learning curve
Je jedno věc si Git nainstalovat, ale ovládat ho a provozovat vlastní Git server je něco úplně jiného. Git má jednu z nejvyšších náročností ze všech DevOps nástrojů a budete muset na něm strávit spoustu času, nebo si ho nechat udělat od někoho jiného.
Bez GUI a podpora Windows
Chceš si nastavit Git server na Windows? Nebo třeba chceš nakonfigurovat Git server s GUI? Smůla. Jsi omezený na operační systémy s jádrem Linux, a GUI pro usnadnění práce tu nemáš. Chceš si nainstalovat Git server a hostovat ho sám? Pak se musíš naučit základy programování.
Zastaralá metoda
Všechny relevantní metriky ukazují, že Git na vlastním serveru je zastaralý a překonán efektivnějšími způsoby provozu Gitu. Nejlepší příklady moderního provozu jsou GitLab, takže než se rozhodneš pro vlastní Git server, podívej se na GitLab také!
Požadavky pro instalaci Git serveru
Pojďme si rychle projít, co potřebuješ k nastavení a hostování vlastního Git serveru. Ke spuštění Gitu potřebuješ jen dvě věci: server a instanci Gitu. A také základní znalost kódování, abys mohl server nakonfigurovat.
Git Server
Server si můžeš pronajmout více způsoby: použít vlastní počítač, pronajmout si dedikovaný server od tradičního poskytovatele, nebo si vzít cloudový VPS (virtuální privátní server). S VPS máš přímou kontrolu nad serverem a můžeš zároveň provozovat Git. Nezapomeň, že na serveru musí běžet Linux distro. Cloudzy nabízí Linux VPS služby s více než 10 ověřenými Linux distribucemi, například Ubuntu, Debian, CentOS, Kali a OpenSUSE. Už od pouhých 4,95 $ měsíčně si vezmeš spolehlivý Linux server blízko tebe a zajistíš si tak skvělou kvalitu připojení. Pak ho můžeš používat pro Git server!
Pořiďte si ekonomický nebo prémiový Linux VPS pro hostování webu nebo vzdálenou plochu, za nejnižší cenu na trhu. VPS běží na Linux KVM pro vyšší výkon a na výkonném hardwaru s úložištěm NVMe SSD pro vyšší rychlost.
Číst víceInstance Gitu
Nastavení Git serveru je jednoduché a během instalace se provede automaticky. Git je open-source a nic stojí. To je důvod, proč si ho tolik vývojářů vybírá. Teď máme všechno, co potřebujeme, takže se vrhni na náš podrobný návod na instalaci Git serveru na Linux!
Instalace Git serveru na Linux (Podrobný průvodce)
Krok 1: Stažení a instalace Gitu
Tady začína instalace Git serveru. V terminálu své Linux distribuce zadej tento příkaz, aby se stáhl Git:
Distros na bázi Ubuntu/Debian:
sudo apt install git
Arch-based distros:
sudo pacman -S git
RHEL-based distros:
sudo dnf install git
Tento příkaz stáhne a nainstaluje Git na tvůj Linux server. Počkej, až se proces skončí.
Krok 2: Registrace a nastavení Git serveru
Pokud máš lokální server na jiném počítači, spusť ho. Pokud máš VPS, připoj se k němu přes SSH nebo RDP. Teď nakonfigurujeme Git server na vzdálený provoz. Vytvoříme Git účet pomocí tohoto příkazu:
ssh username@address
sudo useradd git
Pak zadej tento příkaz, aby sis přepnul na svůj nový účet:
su git
Tento krok je hlavně o bezpečnosti tvého Git serveru. S tímto účtem budeš administrátor serveru. Můžeš bezpečně organizovat budoucí uživatele do skupin s předem definovanými omezeními a úrovněmi přístupu.
Krok 3: Vytvoření SSH adresářů a Vytvoření Git repozitáře na serveru
Další krok je vytvoření vyhrazeného SSH adresáře pro naše veřejné klíče a vytvoření Git repozitáře na serveru s dodatečnými bezpečnostními vrstvami a definovanými úrovněmi přístupu. Začni zadáním tohoto příkazu:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Jakmile omezíte přístup ostatních pomocí tohoto příkazu, zadejte následující řádek, abyste se ujistili, že vaše klíče SSH jsou bezpečně uloženy v authorized_keys složce, kde k nim máte přístup pouze vy (spusťte tento příkaz jen pokud NEMÁTE id_rsa.pub soubor):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Nakonec zkopírujte veřejný klíč SSH, který jste vytvořili, abyste mohli vytvořit nové připojení SSH se zvýšeným zabezpečením na váš lokální Git server:
cd .ssh
vi authorized_keys
Krok 4: Vytvořte hlavní adresář
Na vašem serveru Linux musíte vytvořit nový adresář pro uložení všech repozitářů, které bude vaše Git používat v budoucích projektech. Přečtěte si více o správě vašich Git repozitářů. Zadejte tento příkaz:
mkdir directory_name
Krok 5: Přidejte svůj projekt!
Úspěšně jste vytvořili Git server. Proces instalace Git serveru je úspěšně dokončen a server jste také úspěšně nakonfigurovali. Zbývá jen přidat další projekty pomocí následujícího příkazu:
cd parent_directory
mkdir new_project.git
Poté zadejte tento příkaz pro přidání vzdáleného zdroje do vašeho lokálního počítače:
git init --bare
git remote add origin name git@address:new_project.git
Nakonec spusťte Git push a zkontrolujte, zda vše funguje podle očekávání:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Blahopřejeme, úspěšně jste hostovali Git a vytvořili jste Git repozitář na serveru.
Často kladené otázky
Mohu hostovat Git bez serveru?
Ne. Bez ohledu na povahu vašeho serveru budete potřebovat hardware, který bude sloužit jako server. Můžete použít GitHub jako cloudový server pro vaše repozitáře nebo použít naši VPS nabídky nebo jakoukoliv jinou službu třetí strany pro hostování.
Existuje způsob, jak nainstalovat Git server s grafickým rozhraním?
Ano. Přestože Git sám grafické rozhraní nepodporuje, existuje jeho samostatná verze s grafickým rozhraním nazvaná "Git GUI" pro ty, kteří se bez grafického rozhraní neobejdou.
Existuje placený plán pro Git?
Ne. Git je a vždy bude bezplatný a open-source program, jak potvrzují jeho původní vývojáři a vydavatelé. Program můžete používat jako základ pro vývoj vašeho vlastního programu, v opačném případě je program zcela bezplatný.
Proč byste měli hostovat vlastní Git server?
Pokud plánujete malý projekt s omezeným počtem repozitářů, vlastní hosting je mnohem bezpečnější a soukromější. To je hlavní důvod. Ale jak se vaše projekty rozrůstají a přibývá repozitářů, vlastní hosting ztrácí na efektivitě.