Jenkins - Continuous Integration

Kod: tools-Jenkins-CI
Kategoria: Narzędzia
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 2-3 dni
Grupa docelowa: developerzy
testerzy
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

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 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 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 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.

Zapytaj o 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ń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna