Kontaktujte nás pre cenovú ponuku | 0905 108 555
Ako automatizujem nudné vývojárske úlohy pomocou Makefile a Shell skriptov
Vieš, čo ma najviac nebaví pri programovaní? Nie je to debugovanie. Nie je to ani písanie dokumentácie (aj keď to je blízko). Je to opakovanie tých istých nudných úloh dokola ako zaseknutý vinyl: build, test, deploy, clean... znova a znova. Tak som si povedal dosť. A objavil som dvoch superhrdinov: Makefile a Shell skripty.
7/23/20253 min read


Ako automatizujem nudné vývojárske úlohy pomocou Makefile a Shell skriptov
Vieš, čo ma najviac nebaví pri programovaní? Nie je to debugovanie. Nie je to ani písanie dokumentácie (aj keď to je blízko). Je to opakovanie tých istých nudných úloh dokola ako zaseknutý vinyl: build, test, deploy, clean... znova a znova. Tak som si povedal dosť. A objavil som dvoch superhrdinov: Makefile a Shell skripty.
Tieto nástroje mi ušetrili stovky klikov, vypitých káv a frustrovaných povzdychov. A dnes ti ukážem, ako ich používam, aby som udržal svoju prácu plynulú, čistú a – čo je najdôležitejšie – nudné veci nechal na stroje.
Čo vôbec je Makefile a prečo sa o ňom rozprávame?
Makefile je ako recept pre tvoj projekt. Povie tvojej mašine: "Keď poviem make build, spusti tento príkaz. Keď poviem make test, urob hentô." Je to jednoduchý textový súbor, ktorý definuje ciele ("targets") a úlohy ("recipes").
Je to ako kuchárska kniha pre tvoje CLI.
Príklad? Nech sa páči:
build: gcc -o app main.c run: ./app
Takto si vytvoríš vlastný mini framework na automatizáciu. Stačí zadať make build a o zvyšok sa postará Make.
A kde do toho všetkého pasujú Shell skripty?
Shell skripty (či už Bash, Zsh alebo iný shell) sú skriptované príkazy, ktoré robia prácu za teba. Chceš vyčistiť build folder, pushnúť zmeny, spustiť testy, aktualizovať knižnice? Napíš skript raz, používaj navždy.
Skripty sú ako tvoji osobní asistenti – pracujú potichu, spoľahlivo a bez sťažovania.
Príklad jednoduchého skriptu:
#!/bin/bash npm install npm run test npm run build
Uložíš ako deploy.sh, nastavíš chmod +x deploy.sh a si za vodou.
Aké typy úloh môžem automatizovať pomocou Makefile a Shell skriptov?
Skvelá otázka! Možno by sa ti zdalo, že to je len na kompilovanie, ale opak je pravdou. Tu je zoznam vecí, ktoré ja pravidelne automatizujem:
Buildovanie projektu (kompilácia, bundling, minifikácia)
Testovanie (unit, e2e, linter)
Nasadzovanie na staging alebo produkciu
Synchronizácia databáz
Záloha alebo obnova dát
Spúšťanie CI pipeline
Generovanie dokumentácie
Automatizácia týchto krokov nielen šetrí čas, ale hlavne eliminuje chyby typu "zabudol som spustiť migráciu".
Kedy použiť Makefile namiesto Shell skriptu?
Shell skript je super, keď chceš rýchlo niečo vykonať. Ale ak potrebuješ:
definovať závislosti medzi krokmi,
vytvoriť viacero cieľov (build, run, test, clean),
a mať čítatelný formát, ktorý pozná každý dev,
...tak Makefile je lepšia voľba. Navyše funguje takmer na každom Unix-like systéme bez potreby čohosi navyše.
Shell skript = swisšák Makefile = LEGO stavebnica pre tvoje CLI workflowy
Musím dobre ovládať Bash, aby som efektívne používal Shell skripty?
Nie. A to je na tom to krásne.
Začiatok je jednoduchý. Pár príkazov, trošku syntaxe, a si tam. Stačí vedieť:
ako spustiť príkaz,
ako deklarovať premenné,
ako používať if-else alebo for-cyklus.
Základy sa naučíš za večer a postupne si to vyladíš na vlastný štýl. Skripty sa dajú kopírovať, upravovať, testovať... čo nie je láska?
Môžem kombinovať Makefile a Shell skripty?
Nielen že môžeš, mal by si.
Napríklad:
Makefile definuje ciele: make deploy
deploy spustí Shell skript, ktorý zvládne zložitejší deployment
Takto si zachováš čistotu a modulárnosť.
Pro tip: Skripty daj do priečinka /scripts, Makefile do rootu a získaš poriadok ako vo švajčiarskej banke.
Príklady zo života (alebo ako som prestal nenávidieť testovanie)
Predstav si pondelok ráno. Otvoríš projekt a vieš, že ťa čaká 5 vecí:
git pull
npm install
npm run test
npm run lint
npm run dev
Myslíš, že som to robil ručne? Jasné, že nie. Urobil som si skript start.sh a Makefile cieľ make start. Teraz stačí jedno slovo.
A čo taký CI pipeline? Rovnako. Všetko som si rozdelil na Makefile targets, ktoré mô\užem volať jednotlivo alebo cez skript.
Čas ušetrený? Desiatky hodín mesačne. Frustrácia? Takmer nulová.
Zhrnutie (a malé nakopnutie na záver)
Automatizácia nie je len pre "profíkov". Je to pre každého, kto už nechce premrhať svoj čas na veci, ktoré sa dajú vybaviť jediným príkazom.
Makefile + Shell skripty = kombinácia, ktorá ti zmení workflow.
Takže ak si ešte nikdy nevyskúšal make, teraz je čas. Otvor editor, napíš si prvý target, alebo si vytvor start.sh. Nechaj stroje robiť robotu, ktorá ich baví, a ty sa venuj tomu, čo baví teba.
Chceš ukážkaý projekt alebo inšpiráciu? Napíš mi a pošlem ti svoj repo. Alebo rovno zdieľaj, ako ty automatizuješ svoje rutiny. Viac hláv, viac rozumu!
© 2025. Lacné Webstránky. Všetky práva vyhradené.
Na Troskách 26
Banská Bystrica
97401


Phone: 0905 108 555
Email: info@lacnewebstranky.sk
Otváraracie hodiny
Pondelok: 8:00 - 22:00
Utorok: 8:00 - 22:00
Streda: 8:00 - 22:00
Štvrtok: 8:00 - 22:00
Piatok: 8:00 - 22:00
Sobota: 8:00 - 22:00
Nedela 8:00 - 22:00
Tvorba web stránok a SEO
Banská Bystrica
Na Troskách 26
Banská Bystrica
97401
Telefón: 0905 108 555
Email: bb@lacnewebstranky.sk
Tvorba web stránok a SEO
Nitra
Piaristická 18
Nitra
949 01
Telefón: 0944 800 632
Email: nr@lacnewebstranky.sk