V modernom vývoji softvéru je automatizácia kľúčová pre efektívne a rýchle dodávanie nových funkcií. Git v kombinácii s CI/CD (Continuous Integration/Continuous Deployment) umožňuje vývojovým tímom automatizovať testovanie, buildovanie a nasadzovanie aplikácií. V tomto článku si vysvetlíme, ako CI/CD funguje, prečo je dôležité a ako ho integrovať s Gitom.
CI/CD je skratka pre Continuous Integration (nepretržitá integrácia) a Continuous Deployment (nepretržité nasadzovanie). Pomáha vývojárom:
CI/CD sa používa v kombinácii s verzionovacím systémom Git, kde každá zmena v kóde automaticky spustí procesy ako testovanie, buildovanie a nasadzovanie.
CI/CD je založené na troch hlavných krokoch:
CI znamená, že pri každej zmene v repozitári sa automaticky spustia testy. Ak testy prejdú, kód môže byť zlúčený do hlavnej vetvy.
Automatizované nasadenie kódu do testovacieho prostredia. Vývojári môžu rýchlo vidieť výsledky zmien bez manuálneho zásahu.
Každá úspešná zmena prejde testami a automaticky sa nasadí do produkčného prostredia.
GitHub ponúka GitHub Actions, čo je zabudovaný CI/CD nástroj pre automatizáciu. Vytvorenie workflow-u v GitHub Actions je jednoduché.
V repozitári vytvorte priečinok .github/workflows
a súbor ci-cd.yml
.
name: CI/CD Pipeline on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Setup Node.js uses: actions/setup-node@v2 with: node-version: 14 - name: Install dependencies run: npm install - name: Run tests run: npm test - name: Deploy to production run: echo "Nasadzovanie na server..."
Pri každom push
do hlavnej vetvy sa automaticky spustí build, testovanie a nasadenie.
GitLab ponúka GitLab CI/CD, ktorý umožňuje spustiť podobné procesy priamo v GitLabe.
stages: - build - test - deploy build: stage: build script: - echo "Spúšťam build..." test: stage: test script: - echo "Spúšťam testy..." deploy: stage: deploy script: - echo "Nasadzujem aplikáciu..."
Tento súbor definuje tri fázy: build, testovanie a nasadzovanie. Po každom pushnutí kódu sa automaticky vykonajú.
Nie, mnoho nástrojov ako GitHub Actions, GitLab CI/CD alebo Jenkins je zadarmo pre open-source projekty.
Použite jednoduchý workflow, začnite testovaním a postupne pridávajte ďalšie kroky ako build a nasadzovanie.
CI/CD pipeline by mala obsahovať kroky na upozornenie vývojárov a zastavenie nasadzovania, kým sa chyby neopravia.
Ak máte záujem o prezenčné alebo online školenie programovania, pozrite si našu ponuku na www.like-it.sk. Naše kurzy vedú skúsení odborníci, ktorí vás naučia programovať od základov až po pokročilé techniky.