0Pricing
DevOps Bootcamp · Lekcja

Centralne zarządzanie workflows

Poznają Państwo metody centralizacji i standaryzacji workflows GitHub Actions w repozytoriach organizacji.

Centralne zarządzanie workflows to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 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.

Centralizacja CI/CD

Witamy w lekcji Centralne zarządzanie workflow! W dużych organizacjach zarządzanie potokami CI/CD w wielu projektach może stać się złożone.

W tej lekcji omówimy, jak standaryzować i centralizować workflow GitHub Actions, zapewniając spójność, wydajność i większe bezpieczeństwo w całym ekosystemie programistycznym.

Dlaczego centralizować? Wyzwania

Wyobraź sobie, że każdy zespół tworzy własny, unikalny workflow CI/CD. Często prowadzi to do:

  • Duplikowania: Zespoły wielokrotnie zapisują podobną logikę.
  • Braku spójności: Pojawiają się różne standardy i praktyki.
  • Problemów z utrzymaniem: Aktualizacja współdzielonego narzędzia lub praktyki związanej z bezpieczeństwem wymaga zmian w wielu miejscach.
  • Zagrożeń bezpieczeństwa: Trudniej zagwarantować, że wszystkie potoki stosują najlepsze praktyki bezpieczeństwa.

Wielokrotnego użytku workflow: podstawowe narzędzie

Jednym z najpotężniejszych narzędzi do centralizacji są workflow wielokrotnego użytku. Umożliwiają one zdefiniowanie zestawu zadań lub kroków w jednym centralnym repozytorium, a następnie wywoływanie ich z dowolnego innego repozytorium w organizacji.

Oznacza to, że wspólna logika kompilowania, testowania lub wdrażania znajduje się w jednym miejscu, co ułatwia jej zarządzanie i aktualizowanie.

Przykład: wywoływanie workflow wielokrotnego użytku

Oto, jak repozytorium projektu („wywołujące”) może korzystać z workflow wielokrotnego użytku zdefiniowanego w centralnym repozytorium (np. octo-org/central-workflows).

Słowo kluczowe uses wskazuje centralny workflow, a with przekazuje niestandardowe dane wejściowe.

name: Client App CI

on:
  push:
    branches:
      - main

jobs:
  call-build-and-test:
    # Calls a workflow from a central 'octo-org' repository
    uses: octo-org/central-workflows/.github/workflows/build-and-test.yml@main
    with:
      node-version: '18'
    secrets: inherit # Pass all caller's secrets to the reusable workflow

Sekrety i zmienne na poziomie organizacji

Oprócz workflow wielokrotnego użytku GitHub umożliwia także definiowanie sekretów i zmiennych na poziomie organizacji.

Są one niezbędne do przechowywania poufnych danych (takich jak klucze API) lub wspólnych wartości konfiguracyjnych (takich jak cele wdrożeń), których może potrzebować wiele repozytoriów w organizacji.

Uzyskiwanie dostępu do sekretów organizacji

Po skonfigurowaniu sekretu organizacji każdy workflow w repozytorium, któremu przyznano dostęp, może używać go tak samo jak sekretu na poziomie repozytorium. Dzięki temu poufne dane są zarządzane centralnie i bezpiecznie.

Pamiętaj, że sekrety nigdy nie są ujawniane w logach.

name: Deploy App

on:
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Use Org Deployment Key
        # Accesses an organization-level secret
        run: echo "Attempting deployment with key: ${{ secrets.ORG_DEPLOY_KEY }}"

Workflow startowe zapewniające spójność

Aby pomagać programistom i zagwarantować, że nowe projekty od początku spełniają standardy, organizacje mogą udostępniać workflow startowe.

Są to gotowe szablony workflow, które pojawiają się jako opcje podczas tworzenia nowego pliku workflow w repozytorium. Stanowią pomocny punkt wyjścia i wymuszają stosowanie najlepszych praktyk bez ręcznej ingerencji.

Wymuszanie standardów za pomocą GitHub

W celu zapewnienia jeszcze bardziej rygorystycznej kontroli GitHub oferuje funkcje takie jak Repository Rulesets (w GitHub Enterprise Cloud) lub niestandardowe GitHub Apps.

Można je skonfigurować tak, aby wymuszały określone konwencje nazewnictwa workflow, zapewniały obecność konkretnych zadań, a nawet sprawdzały pliki workflow pod kątem zgodności ze standardami, gwarantując spójne i bezpieczne podejście do CI/CD w całej organizacji.

Znaczenie centralnego zarządzania

Wdrożenie centralnego zarządzania workflow przynosi organizacji istotne korzyści:

  • Spójność: Wszystkie zespoły stosują jednolite praktyki CI/CD.
  • Wydajność: Mniej powielanej pracy i szybsze konfigurowanie projektów.
  • Bezpieczeństwo: Łatwiejsze stosowanie i aktualizowanie najlepszych praktyk bezpieczeństwa.
  • Łatwość utrzymania: Aktualizacje współdzielonej logiki są wprowadzane w jednym centralnym miejscu.
  • Wdrażanie nowych osób: Nowe zespoły mogą szybko rozpocząć pracę, korzystając z zatwierdzonych szablonów.

Sprawdź swoją wiedzę

Jakie są najważniejsze korzyści z centralizacji workflow GitHub Actions w organizacji?

Podsumowanie lekcji

W tej lekcji omówiliśmy znaczenie centralnego zarządzania workflow w GitHub Actions dla organizacji. Dowiedzieliśmy się, jak workflow wielokrotnego użytku, sekrety i zmienne na poziomie organizacji oraz workflow startowe pomagają zachować spójność, zwiększyć wydajność i poprawić bezpieczeństwo w repozytoriach organizacji.

Centralizacja CI/CD usprawnia działanie i gwarantuje, że wszystkie zespoły stosują najlepsze praktyki.

Często zadawane pytania

Czy lekcja „Centralne zarządzanie workflows” jest bezpłatna?

Tak — pełny tekst „Centralne zarządzanie workflows” 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 „Centralne zarządzanie workflows”?

Poznają Państwo metody centralizacji i standaryzacji workflows GitHub Actions w repozytoriach organizacji. Ć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 3 z 4.

Ile czasu zajmuje lekcja „Centralne zarządzanie workflows”?

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. CI/CD dla monorepozytoriów
  2. Workflows między repozytoriami
  3. Centralne zarządzanie workflows
  4. Filtrowanie ścieżek i wybiórcze kompilacje
← Powrót do DevOps Bootcamp