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!

GitHub Actions: Automatizuj svoj workflow jednoducho a zadarmo
Photo by Roman Synkevych / Unsplash

Č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.