GitLab
CI/CD Kurs wkrotce

GitLab

GitLab CI/CD & DevOps Platform

Kompletna platforma DevOps - od repozytorium kodu po wdrazanie na produkcje. CI/CD pipelines, Container Registry i wiecej w jednym narzedziu.

Dlaczego warto sie nauczyc?

GitLab to jedna z najpopularniejszych platform DevOps w firmach. Wbudowane CI/CD eliminuje potrzebe oddzielnych narzedzi. Wiele zespolow Cloud Engineerow uzywa GitLab do zarzadzania infrastruktura jako kodem.

GitLab to kompletna platforma DevOps, ktora laczy repozytorium kodu, CI/CD pipelines, Container Registry, monitoring i zarzadzanie projektami w jednym narzedziu. W przeciwienstwie do GitHub, ktory skupia sie na hostingu kodu, GitLab od poczatku byl budowany jako end-to-end platforma DevOps.

Kluczowa sila GitLab to wbudowane CI/CD. Plik .gitlab-ci.yml w repozytorium definiuje caly pipeline - od budowania, przez testy, po wdrazanie na produkcje. GitLab Runner wykonuje te zadania na Twoich maszynach lub w chmurze.

Dla Cloud Engineera GitLab to czesto glowne narzedzie codziennej pracy. Przechowujesz tam kod Terraform, Dockerfile, skrypty automatyzacyjne i konfiguracje. Pipeline automatycznie waliduje, testuje i wdraza infrastrukture.

GitLab CI/CD dziala na zasadzie pipeline zdefiniowanego w .gitlab-ci.yml. Kazdy push lub merge request uruchamia pipeline automatycznie.

1

Push kodu lub MR

Developer pushuje kod do brancha lub tworzy Merge Request. GitLab wykrywa plik .gitlab-ci.yml.

2

Pipeline startuje

GitLab parsuje .gitlab-ci.yml i tworzy pipeline z etapami (stages) i zadaniami (jobs).

3

Runner pobiera job

Wolny GitLab Runner pobiera job, przygotowuje srodowisko (kontener Docker) i klonuje repozytorium.

4

Wykonanie jobow

Runner wykonuje komendy zdefiniowane w script:. Artefakty i raporty sa zbierane i wyswietlane w UI.

5

Deploy na produkcje

Po przejsciu testow, etap deploy wdraza aplikacje na srodowisko docelowe (ECS, EKS, EC2, S3).

Praktyczne wskazowki pracy z GitLab CI/CD w srodowiskach AWS.

Uzywaj cache i artefaktow

Cache przyspiesza pipeline (np. node_modules). Artefakty przekazuja pliki miedzy stages (np. build -> test -> deploy).

Poczatkujacy

Runner na EC2 Spot Instances

Zainstaluj GitLab Runner na EC2 Spot z auto-scaling. Oszczedzasz do 90% kosztow CI/CD przy zachowaniu wydajnosci.

Zaawansowany

OIDC zamiast access keys

Skonfiguruj GitLab OIDC z AWS IAM. Pipeline dostaje tymczasowe credentials bez przechowywania kluczy w zmiennych CI.

Zaawansowany

Srodowiska i review apps

Uzywaj GitLab Environments do sledzenia wdrozen. Review Apps tworza tymczasowe srodowisko dla kazdego MR.

Zaawansowany

Do czego sluzy GitLab?

01

CI/CD dla infrastruktury

Pipeline automatycznie uruchamia terraform plan na merge requeście i terraform apply po merge do main. Code review dla infrastruktury.

02

Budowanie i wdrazanie kontenerow

GitLab CI buduje obrazy Docker, pushuje do GitLab Container Registry i wdraza na ECS lub EKS. Caly flow w jednej platformie.

03

GitOps workflow

Kazda zmiana w infrastrukturze przechodzi przez merge request z code review, automatycznymi testami i approval. Pelny audit trail.

04

Skanowanie bezpieczenstwa

GitLab SAST, DAST i Dependency Scanning automatycznie wykrywaja podatnosci w kodzie i zaleznosiacach w kazdym pipeline.

Co musisz wiedziec?

.gitlab-ci.yml

Plik definiujacy pipeline CI/CD. Opisuje stages (etapy), jobs (zadania), zmienne srodowiskowe i warunki uruchomienia.

GitLab Runner

Agent wykonujacy jobs w pipeline. Moze dzialac na EC2, w Docker, Kubernetes lub jako shared runner na GitLab.com.

Merge Request (MR)

Odpowiednik Pull Request. Propozycja zmian z code review, dyskusja, automatyczne testy i approval przed merge.

Stages

Etapy pipeline: build, test, deploy. Jobs w tym samym stage dzialaja rownolegle, kolejne stages - sekwencyjnie.

GitLab Container Registry

Wbudowany rejestr obrazow Docker. Kazdy projekt ma wlasny registry. Integracja z CI/CD jest bezszwowa.

Przyklady GitLab CLI

Klonowanie repozytorium

Sklonuj repozytorium GitLab przez SSH

git clone [email protected]:firma/infrastruktura.git

Tworzenie Merge Request z CLI

Uzywajac glab CLI (oficjalne narzedzie GitLab)

glab mr create --title 'feat: dodaj nowy VPC' --description 'Terraform VPC z 3 subnetami'

Uruchomienie pipeline reczne

Trigger pipeline przez API

curl --request POST --header 'PRIVATE-TOKEN: glpat-xxxx' \
  'https://gitlab.com/api/v4/projects/12345/pipeline' \
  --form 'ref=main'

Konfiguracja Runnera

Zarejestruj GitLab Runner na EC2

sudo gitlab-runner register \
  --url https://gitlab.com/ \
  --token glrt-xxxx \
  --executor docker \
  --docker-image alpine:latest

Jak GitLab dziala z AWS?

GitLab + AWS

GitLab integruje sie z AWS przez OIDC federation (bezpieczne credentials bez access keys), GitLab Runner na EC2 z auto-scaling, wdrazanie na ECS/EKS/S3 z pipeline CI/CD, GitLab Container Registry jako alternatywa dla ECR, oraz integracje z AWS CodeDeploy do zaawansowanych strategii wdrazania.

Quiz: GitLab

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz - feedback pojawi sie od razu.

Twoj wynik: 0 / 3

1. Co definiuje plik .gitlab-ci.yml?

2. Co to jest GitLab Runner?

3. Jak stages dzialaja w pipeline?

Chcesz poznac GitLab w praktyce?

Kurs GitLab jest w przygotowaniu. Zapisz sie na newsletter, zeby nie przegapic premiery. W miedzyczasie sprawdz darmowy kurs "AWS od podstaw".

Kurs AWS od podstaw Wszystkie technologie