Struktura úloh a jejich závislostí Workflow se dělí na jednotlivé joby, které běží paralelně, pokud mezi nimi není definovaná závislost. Pro typický CI pipeline mějte job pro build a test, a pokud vše projde, job pro nasazení. Závislost nastavíte pomocí needs, takže nasazení počká na úspěšné dokončení testů. V rámci jobu pak jednotlivé stepy provádějí konkrétní příkazy – instalace závislostí, spuštění testů, build artifactu. Doporučuji rozdělit kroky na menší části, protože potom v logu snadno najdete, kde nastal problém.<br>
<br>
<br>
<br>
Mezi časté chyby patří zapomenutí na podmínky spuštění. Pokud máte workflow s více joby, ale některý z nich je určen jen pro specifickou větev, použijte if podmínku. Jinak se nasazení spustí i při pushi do feature větve, což může vést k neočekávaným změnám. Další pastí je špatně nastavený caching. Bez cache se každý běh spouští od nuly, což prodlužuje dobu pipeline i u malých projektů. GitHub Actions poskytuje akce pro cache – stačí správně určit klíč podle hash souboru se závislostmi, a pak se instalace opakuje jen při změně závislostí.<br>
<br>
<br>
<br>
Proměnné let a const jsou dnes standardem. const by měla být volbou pro většinu deklarací, protože vynucuje neměnnost vazby. Ale pozor – const neznamená neměnnost obsahu objektu či pole. Pokud tedy máte const arr = [], můžete do pole stále přidávat prvky, jen nemůžete přiřadit nové pole. Častou chybou je použití let všude, i když hodnota nikdy nemění. To vede k tomu, že záměr s proměnnou není jasný – preferujte const vždy, když to jde. Užitečná je také nová syntaxe pro výchozí hodnoty parametrů: function greet(name = 'Host') – tím se vyhnete nulovým hodnotám a zpřehledníte rozhraní funkcí.<br>
<br>
<br>
<br>
Nejdřív si vyberte projekt, který vás skutečně zajímá a používáte ho. Otevřete si jeho repozitář a projděte sekci pro nováčky – obvykle bývá označená jako „issues" nebo „contribute". Hledejte štítky jako „good first issue" nebo „help wanted". Tato místa jsou určená přesně pro začátečníky, takže se nemusíte bát, že byste něco rozbili. Přečtěte si také soubor s pokyny pro přispěvatele, pokud existuje – najdete v něm pravidla pro formát kódu, styl commitů i postup pro pull request.<br>
<br>
<br>
<br>
Před odesláním pull requestu si ověřte, že váš kód prochází všemi testy. Pokud projekt žádné testy nemá, zkuste alespoň spustit sestavení. Typickou chybou je poslat změny, které fungují jen u vás, ale rozbijí něco jiného. Po odeslání pull requestu se může stát, že vám správci napíšou připomínky. Nebuďte z toho frustrovaní – je to běžná součást spolupráce. Reagujte na komentáře věcně, vysvětlujte své rozhodnutí a případně upravte kód.<br>
<br>
<br>
<br>
Základní workflow začíná souborem ve složce .github/workflows. Název souboru si zvolte podle účelu, například ci.yml. Na začátku definujete události, které pipeline spouští – nejčastěji push do větve main a pull requesty. Dále specifikujete Runner, tedy prostředí, na kterém se úlohy vykonávají. Pro JavaScript a Python stačí obvykle ubuntu-latest, ale pokud potřebujete Windows nebo macOS, GitHub nabízí i tyto varianty. Vždy je vhodné pinout verzi runneru, abyste předešli nečekaným změnám ve výchozím prostředí.<br>
<br>
<br>
<br>
Jednou z častých pastí je používání OR v podmínkách, které znesnadňuje optimalizátoru volbu indexu. Pokud je to možné, nahraďte OR pomocí UNION ALL na dvě samostatné podmínky. Podobně se vyhněte používání NOT IN, které bývá pomalejší než NOT EXISTS. Důležité je také sledovat statistiky tabulek – pokud se často mění data, spouštějte pravidelně aktualizaci statistik, aby optimalizátor měl přesné informace o rozložení hodnot. V neposlední řadě se vyplatí pečlivě testovat dotazy na reálných datech, ne na malé testovací sadě.<br>
<br>
<br>
<br>
Při psaní příkazů se vyhněte tvrdě zakódovaným tajemstvím, jako jsou API klíče nebo hesla. GitHub Actions umožňuje ukládat je do sekce Secrets v nastavení repozitáře a v souboru je pak odkazujete přes $ secrets.NAZEV . Tím se hodnoty nezobrazí v logu a můžete je měnit bez úpravy kódu. Klíčové je také správně nastavit oprávnění tokenu – pokud potřebujete nasadit na produkci, vytvořte si osobní přístupový token s minimálními právy a uložte ho jako secret, nikdy nepoužívejte výchozí GITHUB_TOKEN pro akce s vyššími oprávněními.<br>
<br>
<br>
<br>
Při automatizaci se vyvarujte dvou častých chyb. První je snaha automatizovat úplně vše hned na začátku. Automatizujte jen to, co děláte opakovaně a co je chybové. Například sestavení aplikace nebo migrace databáze. Druhou chybou je zanedbání zpětné vazby. Automatizace bez logování a hlášení chyb je jako jízda se zavázanýma očima. Nastavte si jednoduché notifikace na e-mail nebo do chatu, ať víte, že něco spadlo. Až budete mít jistotu, že proces funguje, můžete přidávat další kroky.