1. týždeň

Úvod

Čim sa budeme zaoberať na tomto predmete?

Ciele

  1. Zistiť, čo je to DevOps.
  2. Zistiť podmienky získania zápočtu.
  3. Naučiť sa inštalovať nástroje potrebné pre tento predmet.

Postup

Krok 1: Obsah cvičení

Vývoj softvéru sa neskladá len zo samotného programovania. Je to zložitý proces, ktorého sa zvyčajne zúčastňuje viacero ľudí. Okrem samotného programovania zahŕňa aj analýzu a návrh, testovanie, ale aj nasadenie, prevádzku, monitorovanie a údržbu.

Práve prepojenie aktivít vývoja (development) a prevádzky (operations) sa nazýva pojmom DevOps. Na tomto predmete sa zoznámite s postupmi a nástrojmi, ktoré sa používajú pri profesionálnom vývoji a pri jeho nasadzovaní a prevádzke.

  1. Softvér sa vyvíja postupne. Preto sa budeme zaoberať nástrojmi, ktoré nám v tom pomôžu. Predovšetkým systému pre správu verzií Git. Rozšírite svoje vedomostí o pokročilejšie možnosti tohto nástroja a hlavne prácu s vetvami.

  2. Základom integrácie vývoja a nasadenia je automatizácia procesov. Začína to automatizáciou vytvárania prostredia, v ktorom sa softvér bude vyvíjať, testovať a spúšťať. V tom nám pomôžu kontajnery a nástroj Docker, ktorému sa budeme venovať na ďalších cvičeniach.

  3. Na automatizáciu kompilácie, kontrol, a dokonca nasadenia do produkcie používame CI/CD služby, ktoré vykonávajú úlohy na základe udalostí, ako je zmena kódu v Git repozitári. My si preto vyskúšame jeden takýto nástroj (GitLab-CI) a naučíme sa definovať úlohy preň.

  4. Softvér musí spoľahlivo robiť to, na čo je určený. Aby sme sa v tom uistili, musíme ho testovať, najlepšie automaticky. Na jednom z cvičení sa teda pozrieme aj na to, ako vytvárať takéto automatizované testy.

  5. Softvér sa vyvíja tímom – je podstatná organizácia tímu, prideľovanie úloh a komunikácia. Preto sa pozrieme aj na systémy pre sledovanie úloh, a tiež na prácu s pull/merge requests.

Krok 2: Zadania a hodnotenie

Úloha 2.1

Krok 3: Nástroje

Pri vývoji softvéru sa používa množstvo nástrojov, ktoré zjednodušujú našu prácu, alebo ju robia efektívnejšou. Je potrebné naučiť sa tieto nástroje inštalovať a používať.

Inštalácia programátorských nástrojov v systéme Linux je väčšinou veľmi jednoduchá. Stačí použiť systém pre správu balíkov vašej distribúcie. Napríklad na inštaláciu Gitu a nástrojov pre vývoj v jazyku C stačí zadať jeden príkaz:

apt install git gcc make  # Ubuntu/Debian
dnf install git gcc make  # Fedora

V macOS je možné použiť nástroj Homebrew. Po jeho inštalácii použíte príkaz brew:

brew install git
brew install gcc
brew install make

Pre Windows odporúčame nainštalovať virtualizované postredie Windows Subsystem for Linux (WSL). V tomto prostredí pracujete podobne ako v Linuxovom prostredí a môžete použiť rovnaký postup pre inštaláciu nástrojov, ako je uvedené vyššie. Toto prostredie je zároveň potrebné pre nástroje, ktoré budete využívať neskôr (napríklad Docker).

Poznámka

Prostredie WSL sa správa ako virtuálny stroj, takže premenné prostredia a rôzne konfigurácie je nutné nastaviť podľa potreby v tomto prostredí, ako napríklad SSH kľúč pre použitie so školským GitLab systémom. Zároveň myslite na to, že nainštalované nástroje sú dostupné len v tomto prostredí, takže odporúčame nástroj GIT nainštalovať súčasne aj do systému Windows kvôli integrácii s vývojovými prostrediami.

Alternatívou k WSL je inštalácia nástrojov priamo v systéme Windows pomocou nástroja Chocolatey. Po tom, čo si ho nainštalujete, môžete ďalšie programy inštalovať jedným príkazom a Chocolatey zabezpečí zvolenie potrebných parametrov inštalácie a nastavenie premenných prostredia potrebných pre používanie inštalovaných nástrojov (napríklad premennej PATH). Takže inštalácia Gitu a nástrojov pre vývoj v C bude spočívať v týchto príkazoch:

choco install git --params "/GitAndUnixToolsOnPath /WindowsTerminal /Editor:VisualStudioCode"
choco install mingw
choco install make

Jedným z najpodstatnejších nástrojov programátora je editor zdrojového kódu alebo integrované vývojové prostredie. Na počítačoch v učebni máte nainštalovaný populárny editor Visual Studio Code. Aj ten je možné nainštalovať pomocou Chocolatey:

choco install vscode

Poznámka

VS Code podporuje množstvo funkcií, ktoré je možné dopĺňať pomocou rozšírení. Funkcie sa dajú nájsť v palete príkazov prístupnej pomocou skratky Ctrl+Shift+P.

Krok 4: Domáca úloha

Úloha 4.1

Nainštalujte si na svoj počítač nástroje podľa návodu v predchádzajúcom kroku. Pokiaľ je to možné, doneste si na budúce cvičenie vlastné notebooky s nainštalovaným nástrojmi.

Úloha 4.2

Pre efektívne používanie systému Git, ale i v bežnej praxi softvérového inžiniera je potrebné ovládať prácu s nástrojmi príkazového riadku. Prečítajte si doplňujúce zdroje k tomuto cvičeniu a uistite sa, že viete dobre používať tzv. unixový shell.

Úloha 4.3

Prečítajte si aspoň dve podkapitoly z knihy Pro Git:

Vytváranie SSH kľúčov a ďalšie príkazy si zopakujte pomocou materiálov z predmetu ZAP.

Zdroje

Doplňujúce zdroje