Spis treści

GitHub

GitHub to popularna platforma hostingowa dla repozytoriów Git, oferująca dodatkowe funkcje takie jak pull requesty, issue tracking, GitHub Actions (CI/CD), wiki oraz zarządzanie projektami.

 

Podstawowe funkcje

Repozytoria Git: przechowywanie kodu źródłowego i historii wersji.

Integracja z Bash

alias gs='git status'

Zastosowania praktyczne

Typowe komendy Git z GitHub

git clone https://github.com/user/repo.git
git remote add origin https://github.com/user/repo.git

Zastosowania praktyczne

CI - Ciągła Integracja (Continuous Integration):

Praktyka polegająca na regularnym (często kilka razy dziennie) integrowaniu zmian w kodzie, wprowadzanych przez różnych deweloperów, do wspólnego repozytorium. Jak działa: Po każdej integracji (czyli po każdym commicie do głównej gałęzi kodu), system CI automatycznie buduje projekt (np. kompiluje kod) i uruchamia zestaw automatycznych testów (np. testy jednostkowe, testy integracyjne).

Cel: Szybkie wykrywanie i rozwiązywanie konfliktów oraz błędów integracyjnych. Dzięki temu problemy są identyfikowane na wczesnym etapie, zanim staną się trudniejsze i droższe do naprawienia. Zapewnia to, że główna gałąź kodu jest zawsze w stanie gotowym do wdrożenia.

CD - Ciągłe Dostarczanie (Continuous Delivery) lub Ciągłe Wdrażanie (Continuous Deployment):

Co to jest: To rozszerzenie Ciągłej Integracji, które automatyzuje kolejne etapy procesu dostarczania oprogramowania.

Ciągłe Dostarczanie (Continuous Delivery): Oznacza, że kod, który przeszedł pomyślnie wszystkie testy w ramach CI, jest automatycznie przygotowywany i dostarczany do środowiska, z którego może być w dowolnym momencie wdrożony na produkcję. Wdrożenie na produkcję jest jednak manualną decyzją. Zespół ma pewność, że w każdej chwili może wydać nową wersję oprogramowania.

Ciągłe Wdrażanie (Continuous Deployment): Idzie o krok dalej niż Ciągłe Dostarczanie. W tym przypadku, kod, który przeszedł wszystkie testy automatyczne, jest automatycznie wdrażany na środowisko produkcyjne, bez jakiejkolwiek interwencji człowieka. Wymaga to bardzo wysokiego poziomu zaufania do automatycznych testów i całego potoku CI/CD.

Linki zewnętrzne


Więcej szczegółów dotyczących podobnych zagadnień