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