Automatyczne wdrożenia strony z GitHuba przez FTP – praktyczne pułapki

Automatyczne wdrożenia stron z GitHuba przez FTP to wygoda, ale też pole minowe dla tych, którzy nie znają kilku kluczowych pułapek. Przez ostatnie miesiące sam przekonałem się, że drobny błąd w konfiguracji może sprawić, że nowa wersja strony nie pojawi się online, a Ty nawet tego nie zauważysz.
Jak działa automatyczne wdrożenie przez GitHub Actions?
GitHub Actions pozwala uruchomić skrypt wdrożeniowy po każdym pushu do repozytorium. Najczęściej używa się gotowych akcji jak SamKirkland/FTP-Deploy-Action. Wymaga to podania loginu, hasła i – co najważniejsze – dokładnej ścieżki docelowej na serwerze FTP.
Ścieżka FTP – najczęściej pomijany szczegół
Wielokrotnie widziałem, jak pliki trafiały na serwer, ale strona wciąż wyświetlała starą wersję. Powód? Źle ustawiona ścieżka katalogu w akcji FTP. Jeśli wyślesz pliki poziom wyżej lub niżej niż katalog serwujący stronę, wdrożenie zakończy się sukcesem, ale nikt nie zobaczy nowej wersji. Zawsze sprawdzaj, gdzie dokładnie trafiają pliki – czasem katalog docelowy potrafi różnić się nawet o jeden poziom /public_html/ vs /domains/twojadomena.pl/public_html/.
Widoczność zmian – nie ufaj komunikatom
Sam komunikat o sukcesie w GitHub Actions nie jest gwarancją, że nowa wersja strony działa. Najlepszy dowód to realny ślad na serwerze: sprawdź wpis w bazie, wywołanie funkcji w logach lub faktyczne odświeżenie strony. Kilka razy złapałem się na tym, że wdrożenie przeszło, ale formularze zgłoszeń nie dochodziły, bo backend nie został zaktualizowany.
Formularze kontaktowe – ukryte pułapki automatyzacji
Automatyczne wdrożenie nowej wersji strony może przypadkiem zepsuć formularz kontaktowy. W jednym z wdrożeń ukryte pole antyspamowe było automatycznie wypełniane przez menedżer haseł, przez co formularz pokazywał ekran sukcesu, ale nie wysyłał niczego. Po stronie właściciela wyglądało to jak brak zainteresowania ofertą, a winna była drobna zmiana w HTML. Decyzje o odrzuceniu zgłoszenia najlepiej przenieść na backend i logować każdy przypadek.
Problemy z DNS i subdomenami na hostingu
Przy wdrożeniach stron korzystających z subdomen, zdarza się, że hosting rozwiązuje subdomenę lokalnie. Jeśli aplikacja na serwerze łączy się z API na subdomenie tej samej domeny, hosting może kierować ruch na siebie, ignorując zewnętrzne DNS. Efekt: błąd 404 mimo poprawnej konfiguracji strefy DNS. Warto testować takie połączenia z zewnętrznych narzędzi lub przez curl z innego serwera.
- Zawsze podawaj pełną, sprawdzoną ścieżkę katalogu docelowego w akcji FTP.
- Po wdrożeniu sprawdź realny efekt: wpis w bazie lub logi serwera.
- Testuj formularze na produkcji – szczególnie po zmianach w HTML.
- Problemy z subdomenami mogą wynikać z lokalnego rozwiązywania DNS przez hosting.