====== VCS (Version Control System) ====== **VCS** (Systém správy verzí) je softwarový nástroj, který eviduje veškeré změny provedené v souborech (typicky ve zdrojovém kódu) v průběhu času. Umožňuje vývojářům vracet se k dřívějším verzím, porovnávat změny a efektivně spolupracovat na stejném projektu bez rizika přepsání práce kolegů. ===== Typy VCS v naší infrastruktuře ===== V rámci naší společnosti rozlišujeme dva základní přístupy ke správě verzí: ==== 1. Centralizované VCS (CVCS) ==== Všechny verze jsou uloženy na jednom centrálním serveru. Uživatelé si "půjčují" konkrétní verze souborů. * **Příklad:** Subversion (SVN). * **Nevýhoda:** Pokud server vypadne, nikdo nemůže verzovat svou práci. ==== 2. Distribuované VCS (DVCS) ==== Každý vývojář má na svém lokálním stroji (např. v rámci **[[VDI]]** nebo **[[Virtual Machine|VM]]**) kompletní kopii celé historie projektu. * **Příklad:** **Git** (náš firemní standard). * **Výhoda:** Většina operací probíhá lokálně a je bleskově rychlá. Práce je možná i bez připojení k **[[WAN]]**. ===== Proč je VCS klíčové pro náš byznys? ===== VCS tvoří základ naší digitální kontinuity: * **Spolupráce:** Více vývojářů může pracovat na stejné aplikaci současně díky funkcím jako "Branching" (větvení) a "Merging" (slučování). * **Traceability (Sledovatelnost):** Každá změna má svého autora a popis (commit message). To je zásadní pro **[[Kybernetická bezpečnost|bezpečnostní audity]]**. * **Experimentování:** Nové funkce se vyvíjejí v oddělených větvích. Pokud experiment selže, hlavní kód (**[[WWW|produkční web]]**) zůstává stabilní. * **CI/CD Integrace:** Naše VCS je propojeno s automatickými testy. Jakmile je kód nahrán, systém jej automaticky prověří a nasadí na **[[VPS]]**. ===== Naše standardní nástroje ===== Správu VCS u nás zajišťuje **[[IT Podpora]]** a DevOps inženýři: * **GitLab / GitHub Enterprise:** Naše centrální platforma pro hostování Git repozitářů. * **Integrace s [[Jira]]:** Každá změna v kódu (commit) musí obsahovat číslo úkolu z Jiry, aby bylo jasné, proč byla provedena. ===== Bezpečnostní pravidla pro práci s VCS ===== V rámci **[[Kybernetická bezpečnost|kybernetické bezpečnosti]]** platí přísný zákaz: 1. **Citlivá data:** Nikdy neukládejte hesla, API klíče nebo certifikáty přímo do VCS (používejte naše trezory na tajné klíče). 2. **Code Review:** Žádná změna nesmí být sloučena do hlavní větve bez schválení jiným členem **[[Vývojový tým|týmu]]**. 3. **Podepisování:** Všechny commity musí být digitálně podepsány GPG klíčem zaměstnance. > **Tip pro nováčky:** Pokud omylem smažete důležitý soubor v projektu, nepanikařte. Díky VCS jej můžete obnovit jediným příkazem (`git checkout`). --- **Související stránky:** [[Vývojový tým]], [[ZIF]], [[Jira]], [[Kybernetická bezpečnost]], [[VPS]], [[VDI]], [[Virtual Machine]]