Podstawowa umiejętność korzystania z GIT
Podstawowa umiejętność programowania, np. w języku PHP.
W dobie bardzo szybkiego rozwoju technologii, a także coraz większej liczby frameworków, kluczowa staje się sprawna optymalizacja procesu developmentu. Zespół programistyczny powinien móc skupić się na pisaniu solidnego kodu, zaś reszta procesów związana z automatycznym wykonywaniem buildów, testów i deployu powinna odbywać się z minimalną liczbą manualnych kroków do wykonania.
Po wdrożeniu procesów Continuous Integration / Continuous Delivery (CI/CD) oraz deployment auotomation firmy mogą osiągać oszczędności czasu pracy programistów na poziomie dodatkowych 20-30%, które mogą wykorzystać na pisanie kodu, a nie wtórne czynności związane z deploymentem czy wykonywaniem testów.
Szkolenie pozwoli uczestnikom na poznanie logiki działania CI/CD, a także na nabycie umiejętności samodzielnej konfiguracji takiego środowiska. Podczas szkolenia uczestnicy otrzymają startowy pakiet plików konfiguracyjnych oraz przykłady działających automatyzacji procesów DevOps.
Na szkolenie zapraszamy osoby, które programują głównie aplikacje internetowe - bowiem tutaj najważniejsze jest zoptymalizowanie procesu.
Szkolenie bazuje na oprogramowaniu GitLab, które zyskuje coraz większą popularność w firmach polskich oraz tych o globalnym zasięgu.
Dzień 1
Wprowadzenie
- DevOps - nowomowa czy kluczowa rola w projektach IT?
- Dlaczego GitLab CI/CD?
- GitLab vs. inne systemy CI/CD (CircleCI, Travis, TeamCity)
Przygotowanie do uruchomienia
- Architektura i logika rozwiązania z uwzględnieniem: GitLab / GitLab Runner
- Wymagania systemowe oraz sprzętowe
- Instalacja GitLab oraz GitLab CI
- Wstępna konfiguracja GitLab: projekt, użytkownicy, integracje, przygotowanie pod uruchomienie pierwszego Continuous Integration
Tuning i przygotowanie API
- Optymalizacja ustawień GitLab / GitLab CI: tips’n’tricks
- Przygotowanie API do wykorzystania w mechanizmach trigger
Pierwszy proces CI/CD
- Instalacja GitLab CI Runner, wymagania systemowe i sprzętowe
- Skonfigurowanie projektu do łączenia się z GitLab CI
- Uruchomienie typowego procesu: build -> test -> deploy
Dzień 2
Konstrukcja pliku konfiguracyjnego .gitlab-ci.yml
- Praktyczne przykłady pojęć:
- Environments & deployments
- Protected environments
- Job artifacts
- Deploy via Docker
- Zmienne możliwe do wykorzystania w pliku konfiguracyjnym YML
- Konstrukcje logiczne: only, except, when, alllow_failure, dependencies, retry
Trigger pipeline: jak wyzwalać zadania poprzez API?
Jak GitLab CI ułatwia życie programistom
- Obliczanie % pokrycia testami
- Status buildów w dokumentach MarkDown
- Wysyłanie statusów buildów w komunikatorze (na przykładzie Mattermost)
Zaawansowane możliwości GitLab CI
- AutoDevOps
- Klastry Kubernetes
- Deploy boards
- ChatOps
- Web terminal
Live case study
- build, test & deploy dla projektu działającego w oparciu o PHP/Magento, uruchomionego na środowisku wieloserwerowym, z założeniem zerowego downtime na czas deployu.
Polska - Wdrożenie procesu Continuous Integration / Continuous Delivery (CI/CD) z użyciem GitLab CI