Course Code: gitlabci
Duration: 14 hours
Prerequisites:

Podstawowa umiejętność korzystania z GIT

Podstawowa umiejętność programowania, np. w języku PHP.

Overview:

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.

Course Outline:

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.
Sites Published:

Polska - Wdrożenie procesu Continuous Integration / Continuous Delivery (CI/CD) z użyciem GitLab CI