0Pricing
Git & GitHub Professional Workflow · Lekcja

Tworzenie przepływów CI/CD

Twórz praktyczne potoki CI/CD, które automatycznie budują, testują i wdrażają kod po wypchnięciu zmian lub utworzeniu pull requestów.

Tworzenie przepływów CI/CD to bezpłatna lekcja Git & GitHub Professional Workflow na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Git & GitHub Professional Workflow, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.

Wprowadzenie do CI/CD

W tej lekcji nauczysz się tworzyć za pomocą GitHub Actions zaawansowane potoki Continuous Integration (CI) i Continuous Deployment (CD).

CI/CD automatyzuje proces tworzenia oprogramowania — od wprowadzania zmian w kodzie po wdrożenie — dzięki czemu przebiega on szybciej i jest bardziej niezawodny.

Dlaczego CI/CD ma znaczenie

Dlaczego automatyzacja jest tak ważna we współczesnym tworzeniu oprogramowania?

  • Szybsza informacja zwrotna: automatyczne uruchamianie testów pozwala wcześnie wykrywać błędy i problemy z integracją.
  • Spójne kompilacje: każda kompilacja przebiega według tych samych kroków, co ogranicza problemy typu „u mnie działa”.
  • Niezawodne wydania: nowe funkcje i poprawki można wdrażać pewniej i z mniejszym ryzykiem błędów ręcznych.
  • Lepsza współpraca: zespoły często i bezproblemowo integrują zmiany, ograniczając konflikty podczas scalania.

GitHub Actions: podstawowe pojęcia

GitHub Actions korzysta z workflowów definiowanych w plikach YAML. Pliki te znajdują się w specjalnym katalogu repozytorium: .github/workflows/.

Workflow definiuje serię jobów, a każdy job zawiera kroki, które wykonują polecenia lub korzystają z gotowych akcji. W ten sposób informujesz GitHub, co ma zrobić!

Tworzenie pierwszego workflow CI

Utwórzmy podstawowy workflow CI uruchamiany przy każdym push do repozytorium. Skonfiguruje on Node.js i zasymuluje proces budowania projektu.

Zapisz tę zawartość w repozytorium jako .github/workflows/ci.yml:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Build project
        run: node build.js

Symulowanie skryptu budowania

Polecenie node build.js w workflow uruchomiłoby skrypt podobny do tego. Skrypt symuluje kompilowanie, bundlowanie lub przygotowywanie kodu aplikacji.

Spróbuj go uruchomić, aby zobaczyć wynik:

console.log("Starting project build...");
console.log("  - Compiling source files...");
console.log("  - Bundling assets for deployment...");
console.log("Build process finished successfully!");

Dodawanie automatycznych testów

Uruchamianie automatycznych testów jest kluczowym elementem CI. Rozszerzmy workflow o krok testowania wykonywany po zainstalowaniu zależności. Jeśli testy się nie powiodą, workflow zakończy się niepowodzeniem, uniemożliwiając dalsze przetwarzanie wadliwego kodu!

Dodamy krok test w następujący sposób:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: node test.js
      - name: Build project
        run: node build.js

Symulowanie skryptu testów

Oto prosty skrypt test.js, który może uruchamiać Twój workflow. W prawdziwym projekcie używałby on frameworków testowych, takich jak Jest lub Mocha, ale ten przykład pokazuje zasadę wykonywania testów.

Uruchom go, aby zobaczyć symulowany wynik testów:

console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing

if (allTestsPass) {
  console.log("All 12 tests passed successfully!");
} else {
  console.error("Tests failed! Please fix the errors.");
  process.exit(1); // Exit with a non-zero code to indicate failure
}

Wprowadzenie do Continuous Deployment (CD)

CI koncentruje się na budowaniu i testowaniu, natomiast Continuous Deployment (CD) idzie o krok dalej, automatycznie wdrażając aplikację na serwerze lub w usłudze chmurowej po pomyślnym przejściu wszystkich kontroli CI.

Typowe wyzwalacze CD to:

  • utworzenie nowego tagu Git, np. v1.0.0;
  • wypchnięcie zmian do określonej gałęzi, np. main lub production;
  • utworzenie wydania GitHub.

Prosty workflow CD

Oto workflow uruchamiany po utworzeniu nowego tagu Git, zawierający symulowany krok wdrażania. W rzeczywistym scenariuszu ten krok komunikowałby się z dostawcą hostingu, np. AWS, Azure lub Heroku.

Zapisz go jako .github/workflows/cd.yml:

name: Deploy to Production

on:
  push:
    tags:
      - 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Simulate deployment
        run: |
          echo "Deploying application to production server..."
          echo "Version: ${{ github.ref_name }}"
          echo "Deployment complete!"
          # In a real scenario, you'd use a deployment action here
          # e.g., aws-actions/configure-aws-credentials, appleboy/ssh-action

Sprawdzenie workflow CI/CD

Jakie są najważniejsze korzyści z wdrożenia potoków CI/CD?

Podsumowanie: tworzenie CI/CD

Nauczyłeś się tworzyć solidne workflowy CI/CD za pomocą GitHub Actions!

  • Zdefiniowaliśmy CI/CD i omówiliśmy korzyści tego podejścia we współczesnym tworzeniu oprogramowania.
  • Poznaliśmy podstawową strukturę workflow GitHub Actions w YAML.
  • Utworzyliśmy workflowy CI automatyzujące budowanie projektu i uruchamianie testów.
  • Zaprojektowaliśmy workflow CD do automatycznego wdrażania po utworzeniu tagów.

Automatyzuj dalej, aby szybciej i pewniej dostarczać kod!

Często zadawane pytania

Czy lekcja „Tworzenie przepływów CI/CD” jest bezpłatna?

Tak — pełny tekst „Tworzenie przepływów CI/CD” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Git & GitHub Professional Workflow, przejdź na CoddyKit PRO. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.

Co nauczysz się w „Tworzenie przepływów CI/CD”?

Twórz praktyczne potoki CI/CD, które automatycznie budują, testują i wdrażają kod po wypchnięciu zmian lub utworzeniu pull requestów. Ćwiczysz Git & GitHub Professional Workflow z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Git & GitHub Professional Workflow?

Nie wymagamy żadnego doświadczenia. Git & GitHub Professional Workflow w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Tworzenie przepływów CI/CD”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Git & GitHub Professional Workflow?

Tak. Każda lekcja Git & GitHub Professional Workflow zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do GitHub Actions
  2. Tworzenie przepływów CI/CD
  3. Niestandardowe Actions i Marketplace
  4. Sekrety i zmienne środowiskowe w Actions
← Powrót do Git & GitHub Professional Workflow