We współczesnym rozwoju oprogramowania automatyzacja jest kluczowa dla efektywnego i szybkiego dostarczania nowych funkcji. Git w połączeniu z CI/CD (Continuous Integration/Continuous Deployment) umożliwia zespołom developerskim automatyzację testowania, budowania i wdrażania aplikacji. W tym artykule wyjaśnimy, jak działa CI/CD, dlaczego jest ważne i jak je zintegrować z Gitem.
CI/CD to skrót od Continuous Integration (ciągła integracja) i Continuous Deployment (ciągłe wdrażanie). Pomaga programistom:
CI/CD jest używane w połączeniu z systemem kontroli wersji Git, gdzie każda zmiana w kodzie automatycznie uruchamia procesy takie jak testowanie, budowanie i wdrażanie.
CI/CD opiera się na trzech głównych krokach:
CI oznacza, że przy każdej zmianie w repozytorium automatycznie uruchamiane są testy. Jeśli testy przejdą pomyślnie, kod może zostać scalony z główną gałęzią.
Zautomatyzowane wdrożenie kodu do środowiska testowego. Programiści mogą szybko zobaczyć rezultaty zmian bez ręcznej interwencji.
Każda pomyślna zmiana przechodzi testy i automatycznie jest wdrażana do środowiska produkcyjnego.
GitHub oferuje GitHub Actions, czyli wbudowane narzędzie CI/CD do automatyzacji. Stworzenie workflow w GitHub Actions jest proste.
W repozytorium utwórz folder .github/workflows i plik 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 "Wdrażanie na serwer..."
Przy każdym pushu do głównej gałęzi automatycznie uruchamiany jest proces buildowania, testowania i wdrażania.
GitLab oferuje GitLab CI/CD, który pozwala uruchomić podobne procesy bezpośrednio w GitLabie.
stages:
- build
- test
- deploy
build:
stage: build
script:
- echo "Uruchamiam build..."
test:
stage: test
script:
- echo "Uruchamiam testy..."
deploy:
stage: deploy
script:
- echo "Wdrażam aplikację..."
Ten plik definiuje trzy etapy: build, testowanie i wdrażanie. Po każdym pushu kodu są automatycznie wykonywane.
Nie, wiele narzędzi takich jak GitHub Actions, GitLab CI/CD czy Jenkins jest darmowych dla projektów open-source.
Użyj prostego workflow, zacznij od testowania i stopniowo dodawaj kolejne kroki, takie jak build i wdrażanie.
Pipeline CI/CD powinien zawierać kroki do powiadamiania programistów i zatrzymania wdrażania, dopóki błędy nie zostaną naprawione.
Jeśli interesuje Cię szkolenie programistyczne stacjonarne lub online, sprawdź naszą ofertę na stronie www.like-it.sk. Nasze kursy prowadzone są przez doświadczonych ekspertów, którzy nauczą Cię programowania od podstaw po zaawansowane techniki.
Marián Knězek