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 DevOps Bootcamp 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp 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.jsSymulowanie 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.jsSymulowanie 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.
mainlubproduction; - 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-actionSprawdzenie 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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp 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 DevOps Bootcamp 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ąć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp 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
- Wprowadzenie do GitHub Actions
- Tworzenie przepływów CI/CD
- Niestandardowe Actions i Marketplace
- Sekrety i zmienne środowiskowe w Actions