Menu

GIT i Continuous Integration z wykorzystaniem narzędzia GitLab

Kategoria: ,

Czas trwania: 3 dni

Adresaci szkolenia

Szkolenie kierowane jest do programistów i inżynierów devops odpowiedzialnych za zarządzanie kodami źródłowymi oraz utrzymanie archiwum kodów źródłowych w repozytorium kodu GIT.

Metody

• wykład
• prezentacje
• ćwiczenia praktyczne
• studium przypadków
• dyskusje
• pytania i odpowiedzi
• trening umiejętności

Program

Dzień 1

1. Wprowadzenie do GIT
Wersjonowanie (w tym różnice GITLab CE i EE)
Architektura GIT
Konfiguracja klienta GIT (GITLab)
Tworzenie repozytoriów
Rejestrowanie zmian
Przegląd historii zmian
Wycofywanie zmian
Etykietowanie (tag)
Warsztaty: założenie konta na GitLab i sprawdzenie omawianych koncepcji
2h wykładu, 2h części praktycznej

2. Koncepcja gałęzi (ang. branches)
Koncepcja gałęzi (branches)
Rozgałęzianie i integrowanie gałęzi (merge, rebase, cherry-pick)
Tworzenie i aplikowanie łat (diff, format-patch, apply, itp.)
Zarządzanie gałęziami
Prace ze zdalnymi gałęziami
Najlepsze praktyki
Warsztaty
1h wykładu, 1h części praktycznej

3. Przepływ pracy, modele pracy grupowej z GIT (ang. workflow)
Wybór optymalnego przepływu pracy z GIT.
Warsztaty: Omówienie i stworzenie przykładowego projektu na gitlab, ćwiczenia praktyczne operacji GIT
1h wykładu, 2h części praktycznej

Dzień 2

4. Wprowadzenie do CI (Ciągłej Integracji)
Czym jest ciągła integracja i jakie miejsce zajmuje w procesie wytwarzania oprogramowania?
Elementy składowe CI (m.in. automatyczne testowanie, budowanie i wdrażanie aplikacji).
Różnice między Continuous Integration / Continuous Deployment / Continuous Delivery
2h wykładu

5. Narzędzia CI Realizowane funkcje i zadania
Przegląd dostępnych rozwiązań
w szczególności: Jenkins, QuickBuild, TeamCity, Gitlab
Narzędzia uzupełniające: np. Artifactory, Octopus
3h wykładu

6. Automatyczne budowanie w procesie CI (building)
Automatyzacja procesu budowania
Mechanizm budowania projektu
Szybkie wykrywanie błędów
2h zajęć praktycznych

Dzień 2/3

7. Automatyczne testowanie w procesie CI (testing)
Omówienie rodzajów testów: jednostkowe, integracyjne, funkcjonalne akceptacyjne, wydajnościowe.
Rodzaje testów podlegających automatyzacji w ramach CI
Strategie uruchamiania testów
Powtarzalność i niezależność testów
Narzędzia używane do testowania: framework testów jednostkowych, Selenium, JMeter
Warsztaty z testów automatycznych
2h wykładu, 4h zajęć praktycznych

Dzień 3

8. Warsztaty w zakresie wdrożenia poznanych rozwiązań w przykładowych projektach, zadania
Omówienie dobrych praktyk pracy z GIT i wskazanie potencjalnych złych praktyk, wybór optymalnych narzędzi wspomagających CI na podstawie realnie wykonywanych projektów
5h zajęć praktycznych
Szkolenie indywidualne przy stanowisku pracy w zakresie problematyki omawianej w I Etapie szkolenia (pkt 1-8)