<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>http://wiki.pannier-schulungen.de/index.php?action=history&amp;feed=atom&amp;title=Automatizace_nasazen%C3%AD%3A_GitHub_Actions_v_praxi</id>
		<title>Automatizace nasazení: GitHub Actions v praxi - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.pannier-schulungen.de/index.php?action=history&amp;feed=atom&amp;title=Automatizace_nasazen%C3%AD%3A_GitHub_Actions_v_praxi"/>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Automatizace_nasazen%C3%AD:_GitHub_Actions_v_praxi&amp;action=history"/>
		<updated>2026-08-22T05:55:13Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in MeinWiki</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://wiki.pannier-schulungen.de/index.php?title=Automatizace_nasazen%C3%AD:_GitHub_Actions_v_praxi&amp;diff=119365&amp;oldid=prev</id>
		<title>AurelioVogt7025 am 21. August 2026 um 21:08 Uhr</title>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Automatizace_nasazen%C3%AD:_GitHub_Actions_v_praxi&amp;diff=119365&amp;oldid=prev"/>
				<updated>2026-08-21T21:08:40Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 21. August 2026, 21:08 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;GitHub Actions umožňuje spouštět prakticky libovolný pracovní postup přímo v repozitáři. Základní konfigurace &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;skládá z YAML souboru&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;který definuje události&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jež workflow spouštějí&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pro začátek stačí vytvořit adresář &lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;github&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;workflows &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;do něj vložit soubor &lt;/del&gt;s &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;popisem&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nejčastější chybou &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;opomenutí syntaxe YAML – i malá odchylka v odsazení způsobí&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;že &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;workflow nespustí. Proto vždy používejte konzistentní mezery a před prvním spuštěním ověřte soubor v lokálním editoru&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ladění asynchronního kódu &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;práce s proměnnými Asynchronní JavaScript (callbacks, Promise, async/await) je častým zdrojem chyb, protože kód se nevykonává lineárně&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;V panelu Sources využijte tlačítko „Step into next function call&amp;quot; – umožní vám vstoupit i &lt;/del&gt;do &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;asynchronních operací&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Vždy si ověřte&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;zda máte &lt;/del&gt;v &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nástrojích zapnutou volbu „Pause &lt;/del&gt;on &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;caught exceptions&amp;quot; (Pozastavit u zachycených výjimek)&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tato funkce vás upozorní na chyby&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které by jinak byly tiše polknuty blokem try…catch&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Mnoho vývojářů tuto volbu přehlédne a poté marně hledá příčinu&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;proč se kód chová jinak, než očekávají&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pro nasazení &lt;/del&gt;do &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;produkce doporučuji oddělit pracovní postupy pro testování a nasazení&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Můžete použít jediný workflow&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ale &lt;/del&gt;s &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;podmínkami&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nebo rozdělit do dvou souborů&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Praktické je nastavit ruční schválení pro produkční nasazení – využijete k &lt;/del&gt;tomu &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;environmenty&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které umožňují omezit&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;kdo a kdy může nasadit&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nezapomeňte také na rollback: připravte si reverzní krok&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;který v případě selhání vrátí předchozí verzi&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Bez tohoto mechanismu je pipeline k ničemu&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;protože jediná chyba může odstavit celou službu&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Mezi časté chyby patří testování reducí přes celý store&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;což zbytečně zapojuje middleware &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;komplikuje ladění&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dále se stává&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;že testeři zapomenou na asynchronní povahu thunků a test skončí dřív&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;než se dispatch dokončí – vždy počkejte na promise&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Také se vyplatí testovat akce, které používají getState, protože můžete snadno přehlédnout závislost &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;konkrétním stavu. Vždy si připravte mock getState &lt;/del&gt;s &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přesně tím stavem&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;který akce očekává&lt;/del&gt;, a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ověřte, že z něj správně čte&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Posledním tipem &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;použití nástroje &lt;/del&gt;pro &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sledování výrazů (Watch)&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;V panelu Sources si můžete přidat výrazy&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jejichž hodnotu chcete &lt;/del&gt;sledovat &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;v reálném čase během krokování&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Stačí kliknout &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;znaménko plus v sekci Watch a zadat jakýkoliv výraz&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;např. objekt.property. Tímto způsobem máte vždy &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;očích kritické hodnoty &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nemusíte je ručně vypisovat do konzole. Kombinace breakpointů&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;podmíněných zastavení a sledování výrazů vám umožní rychle a systematicky odhalit &lt;/del&gt;i &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ty nejzákeřnější chyby&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Typické chyby a &lt;/del&gt;jak &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;se jim vyhnout Nejčastější chybou začátečníků je zapomenutí středníku na konci příkazu&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;V C# &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;středník povinný&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Další problém nastává při převodu textu na číslo – pokud uživatel zadá text, který není číslo, program spadne s výjimkou FormatException&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Proto je lepší použít metodu int.TryParse()&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;která bezpečně zjistí, zda je vstup číslo&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Například: int vek; if (int&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;TryParse(Console&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ReadLine()&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;out vek)) { &lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.. } else Console.WriteLine(&amp;quot;Špatný vstup&amp;quot;); . Tím se vyhnete pádům a program se chová robustněji&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Jak se vyhnout častým selháním Největší problémy obvykle pramení &lt;/del&gt;z &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;prostředí&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;GitHub Actions poskytuje čisté prostředí&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;takže mnohé závislosti, na &lt;/del&gt;které &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jste zvyklí lokálně&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nejsou k dispozici. Vždy proto explicitně nainstalujte vše&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co potřebujete&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dále si dejte pozor na citlivé údaje – nikdy je nepište přímo &lt;/del&gt;do &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;workflow&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Používejte secrets, které nastavíte &lt;/del&gt;v &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nastavení repozitáře&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a proměnné prostředí předávejte přes env. Častou chybou je také špatně nastavený trigger &lt;/del&gt;– pokud &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;chcete spouštět nasazení jen při push do větve main&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;musíte to uvést přesně&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jinak &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;workflow spustí zbytečně při každém push&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Jak kombinovat Grid a Flexbox bez chaosu Představte si&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;že stavíte rozvržení stránky&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Grid používáte &lt;/del&gt;pro &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hlavní mřížku – třeba &lt;/del&gt;pro &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;umístění hlavičky&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;obsahu&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;bočního panelu &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;patičky&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Flexbox pak nechte na menší komponenty&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jako &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;navigace, tlačítka nebo karty uvnitř jednotlivých sekcí&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tímto způsobem oddělíte makro &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mikro úroveň návrhu&lt;/del&gt;. Například &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hlavní kontejner může mít definici grid&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;template-columns: repeat(auto-fit&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;minmax(250px&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1fr)); a každý prvek uvnitř pak použije display: flex; pro zarovnání obsahu&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tento přístup je přehledný &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;snadno udržovatelný&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Na závěr si zkuste aplikaci rozšířit&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Vytvořte proměnnou pro věk &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pozdravte uživatele s jeho věkem&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pamatujte&lt;/del&gt;, že &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;když chcete zobrazit více hodnot v jednom řádku&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;můžete použít interpolaci řetězců: Console&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;WriteLine($&amp;quot;Ahoj&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jmeno, je ti vek let&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;); – to je modernější a přehlednější než spojování pomocí plus&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Zkoušejte, dělejte chyby a opravujte je&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Jen tak získáte jistotu&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Programování je dovednost, která se trénuje psaním vlastního kódu, ne čtením teorie&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;Než &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;definitivně rozhodnete&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vyzkoušejte si alespoň tři různé nástroje na malém projektu. Věnujte pozornost tomu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[https://citiesofthedead&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;net/index&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;php&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Jak_rozvrhnout_odhad_%C4%8Dasu_mezi_anal%C3%BDzu_a_implementaci_v_agiln%C3%ADm_t%C3%BDmu jak zařídit malou kuchyni] rychle se spouští, jak reaguje při psaní &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jestli vás neomezuje nějakým placeným funkcemi. Ideální je, když si můžete nastavit vzhled i klávesové zkratky podle svých zvyklostí. Pro úplné začátečníky se vyplatí začít &lt;/ins&gt;s &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jednodušším editorem a postupně přejít na složitější nástroj, až si osvojíte základy&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Důležité &lt;/ins&gt;je, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[https://realitysandwich.com/_search/?search=aby%20v%C3%A1m aby vám] prostředí šetřilo čas, ne aby &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;stalo samo o sobě předmětem studia&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Jak navrhnout pipeline pro testování a nasazení Projekt si rozdělte do dvou samostatných jobů: test &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;deploy&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Testovací job spustíte na každém push &lt;/ins&gt;do &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;větve main nebo na pull request&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Deploy job pak navážete na test pomocí podmínky needs a spustíte ho jen po úspěšném testu. Prakticky to znamená&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že &lt;/ins&gt;v &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;YAML definujete trigger, například &lt;/ins&gt;on&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: push nebo on: pull_request&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Důležité je oddělit build od nasazení – pokud testy selžou&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;deploy se nespustí&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;To je základní princip&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který vám ušetří nasazení rozbitého kódu do produkce&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Typická chyba bývá, že se konfigurace sice přidá &lt;/ins&gt;do &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;repozitáře, ale nikdo ji neaktualizuje, když se mění pravidla&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nastavte pravidlo, že jakákoli změna konfigurace musí projít stejnou revizí jako běžný kód&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ideálně &lt;/ins&gt;s &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;popisem&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;proč se mění&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Dále se vyhněte &lt;/ins&gt;tomu, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;abyste do repozitáře ukládali lokální nastavení editoru&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jako jsou soubory .vscode nebo &lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;idea, pokud nechcete&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;aby se přenášela i osobní preference&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Místo toho používejte sdílené konfigurační balíčky&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které se dají verzovat přes správce balíčků&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Začněte tím, že do kořene projektu přidáte soubory&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které definují pravidla pro formátování &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lintování&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Typicky jde o konfiguraci pro Prettier&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ESLint nebo jiný nástroj podle jazyka. Tyto soubory by měly být verzované&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;aby je měl každý člen týmu automaticky k dispozici po klonování&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nezapomeňte také &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;soubor &lt;/ins&gt;s &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;verzemi nástrojů&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pokud používáte správce balíčků nebo runtime – díky němu se vyhnete situaci&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kdy jeden vývojář má novější verzi &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;výsledky se liší&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Postman &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nástroj, který se stal standardem &lt;/ins&gt;pro &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;práci s API&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Umožňuje posílat HTTP požadavky&lt;/ins&gt;, sledovat &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;odpovědi a automatizovat testy. Ať už testujete REST, GraphQL nebo SOAP, správné používání Postmanu vám ušetří hodiny práce&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;V tomto článku se zaměříme &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;praktické postupy&lt;/ins&gt;, na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které se často zapomíná, &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;na typické chyby&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které dělají &lt;/ins&gt;i &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zkušení vývojáři&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Když potřebujete zrychlit dodávání softwaru, GitHub Actions nabízí cestu, &lt;/ins&gt;jak &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;spojit build, testy i nasazení do jediného automatického toku&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Základem &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;soubor YAML v adresáři &lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;github/workflows&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Každý spuštěný job běží v čistém prostředí&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; [http://Orasch&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;com/index&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;php?title=Vstup_do_testov%C3%A1n%C3%AD_softwaru_bez_p%C5%99edchoz%C3%AD_praxe více zde] takže si musíte sami nainstalovat potřebné nástroje&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Typická chyba začátečníků? Spoléhání na předinstalovaný software&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který se může mezi verzemi měnit&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Místo toho vždy explicitně definujte verze pomocí akcí, které si sami napíšete, ať máte reprodukovatelné výsledky&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro efektivní práci využijte také funkci Runner, která spouští celou kolekci najednou. Můžete nastavit počet iterací, zpoždění mezi požadavky a data &lt;/ins&gt;z &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;externího souboru (např. CSV)&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Runner vám dá přehledný report o tom&lt;/ins&gt;, které &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;testy prošly a které selhaly. Pokud testujete API pravidelně&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zvažte použití příkazové řádky s Newmanem&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který spustí kolekci bez otevření Postmanu&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;To se hodí pro integraci &lt;/ins&gt;do &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;CI/CD pipeline&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Při psaní testů &lt;/ins&gt;v &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Runneru myslete na to&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že každá iterace by měla být nezávislá &lt;/ins&gt;– pokud &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;testujete vytváření záznamu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vždy na konci ověřte&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;záznam smazal, nebo použijte unikátní data&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Další častý problém je ignorování mezipaměti. Při každém běhu se stahují závislosti znovu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;což zpomaluje celý pipeline&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Použijte akci &lt;/ins&gt;pro &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;cache, která uchovává nainstalované balíčky mezi běhy. Typicky to znamená cache &lt;/ins&gt;pro &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;npm&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pip nebo jiný správce balíčků. Tím zkrátíte dobu běhu na polovinu i více. Nezapomeňte ale&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že cache musí odpovídat použitému operačnímu systému &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;verzi jazyka&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak nastavit, aby konfigurace opravdu fungovala? Samotné přidání souborů nestačí&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pokud &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;členové týmu nepoužívají. Zkuste do skriptů v package&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;json přidat příkazy pro kontrolu formátování &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lintování, které se spustí při pre-commit hooku&lt;/ins&gt;. Například &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pomocí husky a lint&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;staged můžete zajistit&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že před každým commitnutím proběhne automatická kontrola. Tím se problém s nekonzistentním kódem eliminuje dřív&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;než se dostane do sdíleného repozitáře&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pokud někdo zkusí obejít hook, commit se nepovede &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dotyčný musí chybu opravit&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Při týmové práci na projektu narazíte na problém, že každý vývojář má mírně odlišné nastavení editoru, formátování kódu nebo verze nástrojů&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Výsledkem jsou zbytečné konflikty v gitu, nepřehledné diffy &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ztráta času při ručním sjednocování&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ideální řešení spočívá v tom&lt;/ins&gt;, že &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;konfiguraci projektu uděláte součástí repozitáře&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nikoli lokální záležitostí každého člena týmu&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tím zajistíte&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že všichni pracují se stejným základem a případné úpravy procházejí code review&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;If you are you looking for more info on [http://Orasch&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;com/index&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;php?title=Jak_za%C4%8D%C3%ADt_s_DevOps_a_neztratit_se_v_pojmech Http://Orasch&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;com/] have a look at our own website&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AurelioVogt7025</name></author>	</entry>

	<entry>
		<id>http://wiki.pannier-schulungen.de/index.php?title=Automatizace_nasazen%C3%AD:_GitHub_Actions_v_praxi&amp;diff=113849&amp;oldid=prev</id>
		<title>BHVAngeline: Die Seite wurde neu angelegt: „GitHub Actions umožňuje spouštět prakticky libovolný pracovní postup přímo v repozitáři. Základní konfigurace se skládá z YAML souboru, který de…“</title>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Automatizace_nasazen%C3%AD:_GitHub_Actions_v_praxi&amp;diff=113849&amp;oldid=prev"/>
				<updated>2026-08-21T17:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „GitHub Actions umožňuje spouštět prakticky libovolný pracovní postup přímo v repozitáři. Základní konfigurace se skládá z YAML souboru, který de…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;GitHub Actions umožňuje spouštět prakticky libovolný pracovní postup přímo v repozitáři. Základní konfigurace se skládá z YAML souboru, který definuje události, jež workflow spouštějí. Pro začátek stačí vytvořit adresář .github/workflows a do něj vložit soubor s popisem. Nejčastější chybou je opomenutí syntaxe YAML – i malá odchylka v odsazení způsobí, že se workflow nespustí. Proto vždy používejte konzistentní mezery a před prvním spuštěním ověřte soubor v lokálním editoru.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Ladění asynchronního kódu a práce s proměnnými Asynchronní JavaScript (callbacks, Promise, async/await) je častým zdrojem chyb, protože kód se nevykonává lineárně. V panelu Sources využijte tlačítko „Step into next function call&amp;quot; – umožní vám vstoupit i do asynchronních operací. Vždy si ověřte, zda máte v nástrojích zapnutou volbu „Pause on caught exceptions&amp;quot; (Pozastavit u zachycených výjimek). Tato funkce vás upozorní na chyby, které by jinak byly tiše polknuty blokem try…catch. Mnoho vývojářů tuto volbu přehlédne a poté marně hledá příčinu, proč se kód chová jinak, než očekávají.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro nasazení do produkce doporučuji oddělit pracovní postupy pro testování a nasazení. Můžete použít jediný workflow, ale s podmínkami, nebo rozdělit do dvou souborů. Praktické je nastavit ruční schválení pro produkční nasazení – využijete k tomu environmenty, které umožňují omezit, kdo a kdy může nasadit. Nezapomeňte také na rollback: připravte si reverzní krok, který v případě selhání vrátí předchozí verzi. Bez tohoto mechanismu je pipeline k ničemu, protože jediná chyba může odstavit celou službu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Mezi časté chyby patří testování reducí přes celý store, což zbytečně zapojuje middleware a komplikuje ladění. Dále se stává, že testeři zapomenou na asynchronní povahu thunků a test skončí dřív, než se dispatch dokončí – vždy počkejte na promise. Také se vyplatí testovat akce, které používají getState, protože můžete snadno přehlédnout závislost na konkrétním stavu. Vždy si připravte mock getState s přesně tím stavem, který akce očekává, a ověřte, že z něj správně čte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Posledním tipem je použití nástroje pro sledování výrazů (Watch). V panelu Sources si můžete přidat výrazy, jejichž hodnotu chcete sledovat v reálném čase během krokování. Stačí kliknout na znaménko plus v sekci Watch a zadat jakýkoliv výraz, např. objekt.property. Tímto způsobem máte vždy na očích kritické hodnoty a nemusíte je ručně vypisovat do konzole. Kombinace breakpointů, podmíněných zastavení a sledování výrazů vám umožní rychle a systematicky odhalit i ty nejzákeřnější chyby.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typické chyby a jak se jim vyhnout Nejčastější chybou začátečníků je zapomenutí středníku na konci příkazu. V C# je středník povinný. Další problém nastává při převodu textu na číslo – pokud uživatel zadá text, který není číslo, program spadne s výjimkou FormatException. Proto je lepší použít metodu int.TryParse(), která bezpečně zjistí, zda je vstup číslo. Například: int vek; if (int.TryParse(Console.ReadLine(), out vek)) { ... } else Console.WriteLine(&amp;quot;Špatný vstup&amp;quot;); . Tím se vyhnete pádům a program se chová robustněji.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak se vyhnout častým selháním Největší problémy obvykle pramení z prostředí. GitHub Actions poskytuje čisté prostředí, takže mnohé závislosti, na které jste zvyklí lokálně, nejsou k dispozici. Vždy proto explicitně nainstalujte vše, co potřebujete. Dále si dejte pozor na citlivé údaje – nikdy je nepište přímo do workflow. Používejte secrets, které nastavíte v nastavení repozitáře, a proměnné prostředí předávejte přes env. Častou chybou je také špatně nastavený trigger – pokud chcete spouštět nasazení jen při push do větve main, musíte to uvést přesně, jinak se workflow spustí zbytečně při každém push.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak kombinovat Grid a Flexbox bez chaosu Představte si, že stavíte rozvržení stránky. Grid používáte pro hlavní mřížku – třeba pro umístění hlavičky, obsahu, bočního panelu a patičky. Flexbox pak nechte na menší komponenty, jako je navigace, tlačítka nebo karty uvnitř jednotlivých sekcí. Tímto způsobem oddělíte makro a mikro úroveň návrhu. Například hlavní kontejner může mít definici grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); a každý prvek uvnitř pak použije display: flex; pro zarovnání obsahu. Tento přístup je přehledný a snadno udržovatelný.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si zkuste aplikaci rozšířit. Vytvořte proměnnou pro věk a pozdravte uživatele s jeho věkem. Pamatujte, že když chcete zobrazit více hodnot v jednom řádku, můžete použít interpolaci řetězců: Console.WriteLine($&amp;quot;Ahoj, jmeno, je ti vek let.&amp;quot;); – to je modernější a přehlednější než spojování pomocí plus. Zkoušejte, dělejte chyby a opravujte je. Jen tak získáte jistotu. Programování je dovednost, která se trénuje psaním vlastního kódu, ne čtením teorie.&lt;/div&gt;</summary>
		<author><name>BHVAngeline</name></author>	</entry>

	</feed>