Jak skonfigurować automatyczny deployment przez Git w Plesku — CI/CD z webhookiem
Skonfiguruj webhook Git w Plesk dla automatycznego deploymentu przy każdym push. CI/CD bez dodatkowych narzędzi — instrukcja dla klientów smartxhosting.pl.
Spis treści
- Co będziesz potrzebować
- Zaloguj się do panelu Plesk i przejdź do sekcji Git
- Otwórz ustawienia repozytorium i skopiuj URL webhooka
- Skonfiguruj webhook w GitHub
- Skonfiguruj webhook w GitLab (alternatywna platforma)
- Przetestuj automatyczny deployment
- Weryfikacja automatycznego deploymentu
- Często zadawane pytania
Automatyczny deployment Git Plesk przez webhook to eleganckie rozwiązanie CI/CD, które eliminuje konieczność ręcznego wdrażania kodu po każdej zmianie. Po konfiguracji webhooka każdy push do repozytorium GitHub, GitLab lub Bitbucket automatycznie uruchamia deployment na serwerze Plesk — bez dodatkowych narzędzi, serwerów CI ani ręcznych kroków. W tej instrukcji przeprowadzę Cię przez cały proces: od skopiowania URL webhooka z Plesk Obsidian, przez konfigurację w GitHub lub GitLab, aż po pierwsze testowe wdrożenie automatyczne.
Co będziesz potrzebować
- Aktywne konto hostingowe w smartxhosting.pl
- Dane do logowania z e-maila powitalnego
- Skonfigurowane repozytorium Git w Plesk (patrz: artykuł „Jak skonfigurować Git w Plesku")
- Konto GitHub, GitLab lub Bitbucket z uprawnieniami do zarządzania webhookami w repozytorium
Webhook URL dla automatycznego deploymentu jest generowany indywidualnie dla każdego repozytorium skonfigurowanego w Plesk. Znajdziesz go w ustawieniach konkretnego repozytorium.
- Otwórz przeglądarkę i zaloguj się do panelu Plesk danymi z e-maila powitalnego od smartxhosting.pl.
- Kliknij Witryny i domeny w lewym menu.
- Wybierz domenę, dla której skonfigurowane jest repozytorium Git.
- Kliknij kafelek Git, aby otworzyć listę repozytoriów.
Każde repozytorium Git skonfigurowane w Plesk ma unikalny URL webhooka — jest to specjalny adres HTTP, którego wywołanie przez zewnętrzny serwis (GitHub, GitLab) uruchamia deployment. URL zawiera token bezpieczeństwa.
- Na liście repozytoriów Git kliknij nazwę repozytorium, dla którego chcesz skonfigurować automatyczny deployment.
- W ustawieniach repozytorium znajdź sekcję lub pole o nazwie Webhook URL lub Deployment hook.
- Skopiuj wyświetlony URL do schowka — będzie wyglądał podobnie do:
https://twojadomena.pl:8443/modules/git/deploy.php?hash=xxxxxxxxxxxxx - Zachowaj ten URL — będzie potrzebny w kolejnym kroku.
Jeśli używasz GitHub jako platformy do hostowania kodu, konfiguracja webhooka przebiega przez panel ustawień repozytorium.
- Otwórz swoje repozytorium na stronie github.com.
- Kliknij zakładkę Settings (Ustawienia) w menu repozytorium.
- W lewym menu kliknij Webhooks.
- Kliknij przycisk Add webhook (Dodaj webhook).
- W pole Payload URL wklej skopiowany adres webhooka z Plesk.
- W polu Content type wybierz
application/json. - W sekcji „Which events would you like to trigger this webhook?" wybierz Just the push event.
- Upewnij się, że opcja Active jest zaznaczona.
- Kliknij Add webhook, aby zapisać konfigurację.
Jeśli korzystasz z GitLab zamiast GitHub, konfiguracja webhooka przebiega nieco inaczej, ale idea jest ta sama.
- Otwórz swoje repozytorium na stronie gitlab.com lub swojej instalacji GitLab.
- W lewym menu wybierz Settings > Webhooks.
- W pole URL wklej skopiowany adres webhooka z Plesk.
- W sekcji „Trigger" zaznacz Push events.
- Możesz opcjonalnie ograniczyć webhook do konkretnej gałęzi (Branch filter).
- Kliknij Add webhook, aby zapisać.
Po skonfigurowaniu webhooka pora na test. Wykonaj dowolną zmianę w kodzie i wypchnij ją do repozytorium, aby sprawdzić, czy deployment uruchamia się automatycznie.
- W swoim lokalnym repozytorium Git dokonaj dowolnej zmiany w pliku (np. edytuj README.md).
- Zatwierdź zmianę:
git add . && git commit -m "Test automatycznego deploymentu" - Wypchnij zmianę do gałęzi skonfigurowanej w Plesk:
git push origin main - GitHub lub GitLab automatycznie wyśle żądanie do URL webhooka Plesk.
- Plesk pobierze zmiany z repozytorium i wdroży je na serwer.
Po wykonaniu push warto zweryfikować, czy deployment przebiegł pomyślnie, sprawdzając logi w Plesk i aktualną zawartość strony.
- Wróć do panelu Plesk i przejdź do sekcji Git dla swojej domeny.
- Sprawdź datę ostatniego deploymentu przy repozytorium — powinna być aktualna.
- Otwórz swoją stronę w przeglądarce i sprawdź, czy zmiany z ostatniego push są widoczne.
- W przypadku problemów sprawdź logi błędów domeny (Witryny i domeny > Logi).
- Na GitHub możesz też sprawdzić historię wywołań webhooka w zakładce Settings > Webhooks > Recent Deliveries, gdzie zobaczysz status każdego wywołania (200 OK = sukces).
Często zadawane pytania
Czy deployment webhook jest bezpieczny?
Webhook URL generowany przez Plesk jest unikalny i zawiera losowy token bezpieczeństwa w parametrze hash, co utrudnia nieautoryzowane wywołanie deploymentu przez osoby trzecie. Dla dodatkowego bezpieczeństwa zalecamy korzystanie z HTTPS (Plesk domyślnie generuje URL z HTTPS), ograniczenie adresów IP w ustawieniach webhooka (GitHub i GitLab publikują oficjalne listy swoich adresów IP), a także weryfikację sygnatury webhooka. Regularnie sprawdzaj logi deploymentu, aby wykryć ewentualne nieautoryzowane wdrożenia.
Czy mogę używać GitHub Actions z Plesk?
Tak, możesz zintegrować GitHub Actions z Plesk na kilka sposobów. Najprościej skonfiguruj workflow GitHub Actions, który po każdym push wywołuje URL webhooka Plesk jako jeden z kroków pipeline (np. przez polecenie curl). Dzięki temu możesz uruchamiać testy automatyczne przed deploymentem — deployment nastąpi tylko, gdy wszystkie testy przejdą pomyślnie. Alternatywnie, w workflow GitHub Actions możesz wykonać deployment przez SSH lub rsync bezpośrednio na serwer, co daje jeszcze większą kontrolę nad procesem wdrożenia.
Jak sprawdzić logi deploymentu?
Logi deploymentu Git w Plesk możesz sprawdzić w sekcji Git dla domeny — kliknij nazwę repozytorium na liście, aby zobaczyć historię i status deploymentów. Możesz też sprawdzić ogólne logi błędów domeny przez Witryny i domeny > Logi (Log Browser). Na stronie GitHub lub GitLab sprawdź zakładkę webhooków (Settings > Webhooks > Recent Deliveries lub Recent events) — zobaczysz historię wywołań, odpowiedzi serwera i ewentualne błędy po stronie odbiorcy webhooka.
Co jeśli deployment się nie powiedzie?
Jeśli automatyczny deployment przez webhook się nie powiedzie, Plesk zarejestruje błąd w logach. Najczęstsze przyczyny nieudanego deploymentu to: problemy z uwierzytelnieniem do prywatnego repozytorium (wygasły token dostępu, zmienione hasło), konflikty scalania (merge conflicts) w kodzie, błędy w skryptach post-deployment lub brak wolnego miejsca na dysku. Możesz ręcznie uruchomić deployment klikając przycisk Deploy przy repozytorium w Plesk — wyświetli się szczegółowy komunikat błędu, który pomoże zidentyfikować i naprawić problem.
Potrzebujesz pomocy z Plesk?
Zespół smartxhosting.pl chętnie pomoże Ci skonfigurować hosting i rozwiązać problemy z panelem Plesk.
Skontaktuj się z nami