Narzędzia użytkownika

Narzędzia witryny


kategoria:programowanie:github

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.

  • Forkowanie i pull requesty: ułatwienie współpracy i proponowania zmian.
  • Issues: system zgłaszania i śledzenia błędów oraz zadań.
  • Actions: automatyzacja procesów (np. testów, buildów, deployów).
  • Wiki i README: dokumentacja bezpośrednio w repozytorium.
  • GitHub Pages: hostowanie statycznych stron WWW z poziomu repozytorium.

Integracja z Bash

  • Aliasowanie komend Git np.
alias gs='git status'
  • Skrypty do automatycznego commitowania i pushowania.
  • Obsługa tokenów API w skryptach bashowych.
  • Integracja z webhookami (np. do powiadomień lub automatycznego deployu).

Zastosowania praktyczne

  • Zarządzanie projektami open source.
  • Współpraca w zespołach developerskich.
  • Hostowanie portfolio programisty.
  • Automatyzacja procesów CI/CD (GitHub Actions, workflows).

Typowe komendy Git z GitHub

  • Klonowanie repozytorium:
git clone https://github.com/user/repo.git
  • Dodanie zdalnego repo:
git remote add origin https://github.com/user/repo.git
  • Wysłanie zmian na GitHub git push -u origin main
  • Pobranie najnowszych zmian git pull origin main

Zastosowania praktyczne

  • Zarządzanie projektami open source.
  • Współpraca w zespołach developerskich.
  • Hostowanie portfolio programisty.
  • Automatyzacja procesów:

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ń

 
kategoria/programowanie/github.txt · ostatnio zmienione: przez tester