GitHub Actions: Automatizuj svoj workflow jednoducho a zadarmo
GitHub Actions ti umožní automatizovať testy, buildy a deploye priamo v GitHube – bez nutnosti ďalších nástrojov. Začni jednoducho!
Čo je GitHub Actions?
GitHub Actions je vstavaný nástroj v GitHube, ktorý ti umožní automatizovať rôzne činnosti priamo v repozitári. Môžeš napríklad automaticky:
- spustiť testy pri každom pushe,
- buildnúť aplikáciu pri pull requeste,
- deploynúť web na server alebo GitHub Pages,
- skontrolovať štylistiku kódu (lintovanie).
Struktúra GitHub Actions
Všetko sa nastavuje v adresári .github/workflows
, kde každý YAML súbor definuje jeden „workflow“ – teda automatizovaný proces.
Prvý workflow: Hello world
Vytvor súbor .github/workflows/hello.yml
s týmto obsahom:
name: Hello workflow
on: [push]
jobs:
say-hello:
runs-on: ubuntu-latest
steps:
- name: Pozdrav
run: echo "Ahoj svet z GitHub Actions!"
Tento workflow sa spustí pri každom pushnutí do repozitára a vypíše správu do logu.
Testovanie Node.js projektu
name: Node CI
on:
push:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Nastavenie Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm ci
- run: npm test
Tento workflow:
- načíta repozitár,
- nainštaluje Node.js,
- spustí testy cez
npm test
.
Deploy na GitHub Pages
Použi napríklad tento oficiálny action pre nasadenie statického webu:
name: Deploy to GitHub Pages
on:
push:
branches:
- main
permissions:
contents: read
pages: write
id-token: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/configure-pages@v3
- uses: actions/upload-pages-artifact@v2
with:
path: ./build
- uses: actions/deploy-pages@v2
Nezabudni mať v repozitári zapnutý GitHub Pages a buildnutý obsah v ./build
.
Tipy a odladenie workflowov
- Sleduj logy v sekcii „Actions“ – každá chyba je tam pekne popísaná.
- Môžeš si workflow spustiť aj ručne pomocou
workflow_dispatch
. - Workflow vieš obmedziť na konkrétny priečinok alebo súbory.
Záver
GitHub Actions ti výrazne uľahčí život. Nemusíš mať externý CI nástroj – všetko beží priamo v tvojom GitHub repozitári. Už aj s free účtom dostaneš 2 000 minút mesačne.
V ďalšom článku si ukážeme napríklad ako nasadiť WordPress plugin alebo Node.js appku na server cez SSH.