Git oprócz standardowej kontroli wersji naszego projektu oferuje więcej możliwości i myślę, że warto zwrócić na nie uwagę. Hook`i na Git oferują wiele ciekawych rozwiązań, a są to po prostu akcje wywoływane w odpowiednich momentach wykonywania skryptu. Dzielą się jeszcze dodatkowo na te, które wykonują się po stronie serwera oraz lokalnie u użytkownika.
Możemy je dowolnie zakodować i wywoływać wszystkie komendy konsolowe na które pozwala nam system lub permission`y. Pozwala nam to tworzyć naprawdę ciekawe rozwiązania. Dlatego powoli będę tworzył wpisy na tle gotowego systemu pracy. Oprócz tego, jeśli będzie taka potrzeba to umieszczę dodatkowe możliwości hook`ów. Postaram się, aby wszystko było przedstawione jak najbardziej praktycznie, żeby widzieć w tym sens i móc szybko to zastosować.
Przygotowanie
Nim rozpoczniemy pracę z Hook`ami to trzeba postawić gita na serwerze. Jeśli mamy to zrobione to możemy już przystąpić do rozszerzania możliwości naszego systemu kontroli wersji.
Przydało by się dowiedzieć, w których dokładnie momentach wywoływane są konkretne akcje. Nazwy plików, są bardzo logiczne i można to łatwo wywnioskować, a na dodatek spora ilość z nich ma przykładowy kod bash`a już w sobie. Gdyby jednak były jakieś problemy, ze zrozumieniem, to grafika poniżej bardzo ładnie przedstawia to:
Na grafice brakuje kilku hooków, które wyszły wraz z nowymi wersjami Git`a, m.in. pre-push. Tutaj dostępna cała lista.
Spis treści:
Przedstawienie projektu(chwilowo projekt został zawieszony)- Podział branch`es na różne wersje
- Zarządzanie bazą danych
- Automatyczny deploy
- Tworzenie branch`y i scalanie ich z poziomu PHP w aplikacji kanban
- Podsumowanie