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.
Repozytoria Git: przechowywanie kodu źródłowego i historii wersji.
alias gs='git status'
git clone https://github.com/user/repo.git
git remote add origin https://github.com/user/repo.git
git push -u origin maingit pull origin mainCI - 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.
| Kategoria Programowanie | Terminal | Software | Hardware |