0Pricing
DevOps Bootcamp · Lekcja

Strategie monitorowania potoków

Poznają Państwo metody monitorowania stanu, wydajności i współczynnika powodzenia potoków CI/CD.

Strategie monitorowania potoków to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 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.

Dlaczego monitorować potoki?

Podczas budowy złożonej maszyny nie można po prostu jej włączyć i liczyć na najlepsze. Trzeba wiedzieć, czy działa, czy jest wydajna i czy kiedykolwiek ulegnie awarii.

To samo dotyczy potoków CI/CD! Monitorowanie pomaga zrozumieć ich kondycję, wydajność i niezawodność. Ma kluczowe znaczenie dla identyfikowania wąskich gardeł, zapobiegania problemom i zapewniania sprawnego dostarczania oprogramowania.

Najważniejsze metryki potoku

Aby właściwie ocenić kondycję potoku, należy skupić się na najważniejszych metrykach:

  • Wskaźnik powodzenia: Jak często potok kończy się powodzeniem?
  • Wskaźnik niepowodzeń: Jak często potok kończy się niepowodzeniem?
  • Czas trwania: Ile czasu zajmuje jego wykonanie?
  • Czas realizacji: Czas od commitu kodu do pomyślnego wdrożenia.

Śledzenie tych metryk pomaga identyfikować problemy, zwiększać wydajność i podejmować decyzje oparte na danych.

Wbudowane widoki GitHub Actions

GitHub Actions oferuje prosty sposób monitorowania przepływów pracy bezpośrednio w interfejsie repozytorium.

Przejdź do karty 'Actions' w repozytorium GitHub. Znajdą tam Państwo listę wszystkich uruchomień przepływów pracy, ich status (powodzenie, niepowodzenie, oczekiwanie) oraz czas trwania. Kliknięcie konkretnego uruchomienia wyświetla szczegółowe logi każdego zadania i kroku, co jest nieocenione podczas debugowania.

Szybki podgląd statusu za pomocą znaczników

Chcą Państwo od razu pokazać status potoku? GitHub Actions umożliwia umieszczenie znacznika statusu bezpośrednio w pliku README repozytorium.

Znaczniki aktualizują się automatycznie, zapewniając wizualny wskaźnik w czasie rzeczywistym przedstawiający status ostatniego uruchomienia przepływu pracy (np. powodzenie lub niepowodzenie). Kod Markdown znacznika można wygenerować na karcie 'Actions'.

![CI Workflow Status](https://github.com/OWNER/REPO/actions/workflows/ci.yml/badge.svg)

Zrozumienie statusów zadań i kroków

Każde zadanie i każdy krok w przepływie pracy GitHub Actions ma status: success, failure, cancelled lub skipped.

Domyślnie zadanie zatrzymuje się natychmiast, jeśli którykolwiek z jego kroków zakończy się niepowodzeniem. Zrozumienie tych poszczególnych statusów ma kluczowe znaczenie dla tworzenia niezawodnych potoków, które właściwie reagują na różne wyniki.

name: Status Check Example
on: [push]
jobs:
  check_status:
    runs-on: ubuntu-latest
    steps:
      - name: First step (success)
        run: echo "This step always succeeds"
      - name: Second step (simulated failure)
        run: exit 1
      - name: Third step (only if previous fails)
        if: failure()
        run: echo "Previous step failed!"

Reagowanie na status za pomocą „if”

Słowo kluczowe warunkowe if pozwala uruchamiać kroki lub zadania wyłącznie wtedy, gdy zostaną spełnione określone warunki, na przykład powodzenie lub niepowodzenie poprzedniego kroku.

Umożliwia to tworzenie odpornych potoków, które mogą na przykład wysyłać powiadomienia tylko w przypadku niepowodzenia lub porządkować zasoby po pomyślnym zakończeniu.

name: Conditional Run Example
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Always run this
        run: echo "Starting build..."
      - name: This step might fail
        run: exit 0 # Change to 'exit 1' to see failure branch
      - name: Run on success
        if: success()
        run: echo "Build succeeded!"
      - name: Run on failure
        if: failure()
        run: echo "Build failed, sending alert!"

Dodawanie własnych komunikatów w logach

GitHub Actions automatycznie udostępnia szczegółowe logi, ale czasami trzeba dodać własne komunikaty, aby ułatwić zrozumienie działania i debugowanie.

W krokach run można używać standardowych poleceń powłoki, takich jak echo, aby wypisywać własne komunikaty, zmienne lub informacje o postępie bezpośrednio w logach przepływu pracy.

name: Custom Logging Example
on: [push]
jobs:
  log_info:
    runs-on: ubuntu-latest
    steps:
      - name: Print current time
        run: echo "Workflow started at: $(date)"
      - name: Perform a task
        run: |
          echo "Simulating a task..."
          sleep 2
          echo "Task completed."

Śledzenie czasu wykonania

Monitorowanie czasu trwania zadań i kroków ma kluczowe znaczenie dla identyfikowania wąskich gardeł wydajności i optymalizowania potoków.

Logi GitHub Actions automatycznie zawierają znaczniki czasu dla każdego kroku. Można również wymusić maksymalny czas działania za pomocą timeout-minutes na poziomie zadania, aby zapobiec niekończącemu się działaniu przepływów pracy.

name: Job Timeout Example
on: [push]
jobs:
  long_job:
    runs-on: ubuntu-latest
    timeout-minutes: 1 # Job will be cancelled after 1 minute
    steps:
      - name: Start a long process
        run: |
          echo "Starting a process that takes 2 minutes..."
          sleep 120 # This will exceed the timeout
      - name: This step might not run
        run: echo "Process finished."

Zaawansowane pobieranie danych

W celu zaawansowanego monitorowania i tworzenia niestandardowych analiz można programowo uzyskiwać dane o uruchomieniach przepływów pracy za pomocą GitHub API.

Pozwala to pobierać szczegółowe informacje o statusach, czasach trwania i logach przepływów pracy, które następnie można wykorzystać w niestandardowych pulpitach nawigacyjnych, pogłębionych analizach lub integracjach z zewnętrznymi systemami monitorowania. Zapewnia to szerokie możliwości niestandardowej obserwowalności wykraczającej poza interfejs użytkownika.

Szybkie sprawdzenie statusu

Rozważmy poniższy fragment przepływu pracy. Co zostanie wypisane w logach, jeśli krok „Build Project” zakończy się niepowodzeniem?

name: Question Workflow
on: [push]
jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Build Project
        run: exit 1 # Simulate a failure
      - name: Notify on Success
        if: success()
        run: echo "Project built successfully!"
      - name: Notify on Failure
        if: failure()
        run: echo "Build failed, review logs."

Podsumowanie: monitorowanie potoków

Doskonale! Nauczyli się Państwo, jak monitorować potoki CI/CD.

  • Omówiliśmy wbudowane funkcje monitorowania GitHub oraz znaczniki statusu.
  • Poznali Państwo sposób używania warunków if do reagowania na statusy zadań i kroków.
  • Omówiliśmy dodawanie własnych komunikatów w logach oraz śledzenie czasu trwania zadań.

Strategie te pomagają zapewnić niezawodność, stabilność i wysoką wydajność potoków. Następnie mogą Państwo poznać możliwości integracji z zewnętrznymi narzędziami monitorowania!

Często zadawane pytania

Czy lekcja „Strategie monitorowania potoków” jest bezpłatna?

Tak — pełny tekst „Strategie monitorowania potoków” 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 „Strategie monitorowania potoków”?

Poznają Państwo metody monitorowania stanu, wydajności i współczynnika powodzenia potoków CI/CD. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Strategie monitorowania potoków”?

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

  1. Strategie monitorowania potoków
  2. Integracja z usługami zewnętrznymi
  3. Konfiguracja powiadomień i alertów
  4. Logowanie strukturalne i rozproszone śledzenie
← Powrót do DevOps Bootcamp