Jenkins - Continuous Integration

Kod: Jenkins-CI
Kategoria: Narzędzia
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 2-3 dni
Odbiorcy: testerzy, developerzy, DevOps, admini
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Poznaj ogólne założenia dotyczące CI realizowanego w kompleksowy i efektywny sposób.

Dowiedz się, jak skrócić TTM (time to market), podnieść niezawodność i wyeliminować wielogodzinne wydawanie nowej wersji w weekend. Odkryj możliwość zarządzania infrastrukturą w kodzie i sposoby na uczynienie środowiska Continuous Integration Twoim sprzymierzeńcem.

Celem szkolenia jest:
  • Przekazanie informacji o automatyzacji zadań związanych z wytwarzaniem oprogramowania
  • Poznanie sposobów na zwiększenie jakości i niezawodności tworzonych rozwiązań
  • Zaznajomienie się z ekosystemem niezbędnym do zbudowania kompleksowego środowiska CI
  • Przedstawienie Continuous Delivery jako następny krok po CI

Uwaga. Dla firm i zespołów chcących wprowadzić u siebie zarządzalne i skalowalne rozwiązanie dla setek/tysięcy jobów istnieje możliwość wydłużenia szkolenia do 3 dni i przeprowadzenia rozszerzonego wariantu zarządzania Jenkinsem w kodzie z wykorzystaniem Jenkins Pipeline i/lub Jenkins Job DSL - szczegółowy program: Jenkins as code - automatyzacja tworzenia jobów i pipelinów w kodzie z wykorzystaniem Job DSL

Wyróżniki szkolenia

  • Automatyzacja zadań
  • Poprawienie jakości oprogramowania
  • Skróczenie czasu potrzebnego na wdrożenie kolejnej wersji (TTM)
  • Ćwiczenia praktyczne utrwalające przekazaną wiedzę teoretyczną
  • Zalecane wzorce i praktyki

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Ciągła integracja - wprowadzenie
    1. cechy
    2. korzyści
    3. CI jako składowa procesu wytwarzania oprogramowania w firmie
  2. Automatyzacja
    1. dlaczego warto
    2. popularne problemy przy migracji z procesu ręcznego
      1. sposoby radzenia sobie z nimi
  3. Serwer ciągłej integracji - wprowadzenie
    1. funkcje i zadania
    2. architektura/klasy rozwiązań - wady/zalety, rekomendowane przeznaczenie
      1. proste, często hostowane zewnętrznie - jak Travis
      2. złożone, najczęściej hostowane w firmie - jak Jenkins
  4. Jenkins - serwer CI
    1. architektura i kluczowe komponenty
    2. mechanizmy konfiguracyjne
    3. joby i widoki
    4. budowanie typowego projektu
    5. rozszerzanie możliwości poprzez pluginy
    6. zarządzanie jobami i widokami w kodzie (wydzielone jako osobny punkt niżej)
    7. archiwizacja (backup)
    8. oskryptowywanie zadań administracyjnych
  5. Automatyczne testowanie kodu - kluczowy element CI
    1. testowanie automatyczne - potrzeba
    2. testowanie jednostkowe
    3. testowanie integracyjne
    4. testowanie funkcjonalne/akceptacyjne
    5. testowanie wydajnościowe
    6. integracja narzędzi do testowania z Jenkinsem
  6. Satelickie narzędzia i procesy
    1. repozytorium kodu i praca z kodem
      1. praca na branchach - workflow
      2. przeglądu kodu (pre- i post-commit)
      3. pull/merge requesty
      4. wsparcie narzędzi
    2. repozytorium artefaktów
    3. mechanizm budowania projektu (Maven, Gradle, ...)
    4. automatyczne testowanie kodu - wydzielone jako osobny punkt
    5. badanie jakości kodu
      1. metryki kodu
      2. statyczna analiza jakości kodu (Checkstyle, PMD, ...)
      3. SonarQube
      4. integracja z Jenkinsem
    6. wersjonowanie i zarządzanie wydaniami
    7. zarządzanie zmianami w bazie danych
    8. zarządzanie infrastrukturą
    9. automatyzacja wdrożeń
    10. monitoring i alerting
    11. baza wiedzy
    12. issue tracking
  7. Jenkins as code - zarządzanie Jenkinsem w kodzie z Jenkins Pipeline i/lub Job DSL (wariant podstawowy lub rozszerzony)
    1. zarządzanie w kodzie - potrzeba 21 wieku
      1. skalowalność
      2. niezawodność
      3. bezpieczeństwo
    2. Jenkins Job DSL
      1. architektura i narzędzia
      2. wprowadzenie do Groovy - języka pisania definicji zadań w Jenkinsie
      3. tworzenie jobów i widoków
      4. rozszerzanie możliwości
    3. migracja istniejących rozwiązań
    4. Delivery Pipeline - od commitu do wdrożenia
      1. orkiestracja jobów
      2. wizualizacja procesu w Jenkinsie
      3. przykładowe podejście do Delivery Pipeline dla microserwisów
    5. Automatyczne testowanie
    6. Jenkins Pipeline - alternatywa do Job DSL
      1. rekomendowane zastosowania
      2. ograniczenia
  8. Przydatne praktyki
    1. wzorce i anty-wzorce
    2. wizualizacja procesu
    3. zaangażowanie całego zespołu
    4. rozproszone budowania
      1. skalowalnosć przy tysiącach jobów
    5. współbieżność
    6. integracja z systemami (i procesami) zewnętrznymi
    7. główne trudności i stosowane rozwiązania
  9. Continuous Delivery - wprowadzenie
    1. czym jest?
    2. co daje?
    3. kiedy warto stosować?
    4. wymagania wstępne dotyczące projektu
    5. przydatne techniki i narzędzia


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.