Poddajesz treść Twojej witryny edycji. Standardowy zabieg, wiele informacji trzeba co jakiś czas aktualizować. Brzmi jak prosta sprawa do ogarnięcia. Nie jest to skomplikowany zabieg. Musisz mieć jednak świadomość, że każda tego typu ingerencja wymaga przebudowania strony.
Bywa to problematyczne. Podczas dodawania nowego contentu w wordpressie, GatsbyJS (którego używamy), nie wykryje żadnych zmian sam z siebie. Nowy content to wszelkie posty, produkty, zdjęcia, kategorie i front-end strony.
Z racji tego, że wordpress to nasze API – czyli miejsce z którego pobieramy dane, a GatsbyJS to technologia, która serwuje strony statycznie, tak naprawdę jedyny sposób na dostarczenie nowych rzeczy z WP to przebudowanie/przeładowanie.
Czy to jedyne rozwiązanie?
Owszem, możemy również wrzucić ręcznie zbudowany projekt na serwer przez FTP (protokół transferu plików). Ale zazwyczaj jest to problematyczne, uciążliwe i całkowicie pozbawione sensu – szczególnie przy dużej ilości projektów. Jak zwykle w takiej sytuacji – postanowiliśmy stworzyć własne rozwiązanie, które oszczędzi wszystkim zbędnej manualnej roboty. Tak powstał Rebuilder.
Kiedy przydaje się rebuilder?
Dokonywanie drobnych zmian na stronie internetowej jest częstym zabiegiem. Jest to więc szczególnie użyteczna wtyczka, która przyda się w praktycznie każdej witrynie.
Sytuacje, w których ją wykorzystujemy, to najczęściej:
- zmiana produktów, bądź ich opisów;
- dodawanie nowych artykułów na bloga;
- edycja tekstów zamieszczonych w różnych miejscach witryny.
Każda taka zmiana wiążę się z koniecznością przebudowania strony, a rebuilder umożliwia maksymalne usprawnienie tego procesu.
Jakie inne funkcje posiada rebuilder?
Rebuilder umożliwia również powiadomienie konkretnych osób o przebudowie strony. Wystarczy w odpowiednim okienku wpisać ich adresy email. Otrzymają wtedy powiadomienie na temat przebudowy strony.
Istnieje także opcja przebudowy strony dla programistów. Wykorzystuje się ją tylko wtedy, gdy zostaną wykonane zmiany w kodzie i wrzucone na githuba.
Jedno kliknięcie zamiast przebudowania
Rebuilder to wtyczka, która właśnie za pomocą jednego kliknięcia z poziomu wordpressa umożliwia odtworzenie całej operacji “ręcznego wrzucania” zbudowanej paczki (wersji projektu) na serwer.
WordPress jest tylko źródłem treści (CMS), które udostępnia swoje dane przez graphql (więcej o nim przeczytacie tu) – a my musimy w jakiś sposób zaktualizować te treści. Najlepiej zrobić to, tak jak już mówiliśmy, poprzez ponowne zbudowanie projektu. Żeby jednak nie robić tego wszystkiego ręcznie, stworzyliśmy rebuildera.
Ręcznie trzeba by:
Z konsoli poleceniem gatsby clean & gatsby build zbudować nowy projekt, wejść ręcznie przez jakiś program do zarządzania FTP na serwer i tam szukać odpowiedniego miejsca czyli domeny i ręcznie kopiować za każdym razem pliki – lepiej mieć to w automacie, prawda? 😉
Jak więc działa rebuilder?
Proces w uproszczeniu prezentuje się tak:
- User klika “przebuduj” (i tak naprawdę, to jedyne co musi zrobić – reszta ogarnie się sama).
- GithubActions rozpoczyna flow, tworzy tzw. build bundle i umieszcza ją na branchu build.
- GithubActions kontynuuje działanie i wyzwala “zaciągniecie” lub “umieszczenie” zawartości brancha build na serwerze.
- Po zakończonej operacji wszystko jest aktualne.
Warto dodać, że githubactions są tak napisane, aby w przypadku jakiejś nieścisłości w kodzie, lub wordpressie przerwać flow – żeby nie wyrządzić żadnych szkód. O błędach oraz sukcesie przebudowania informowane są odpowiednie osoby, ale o tym więcej przeczytacie dalej.
Konfiguracja pluginu odbywa się jedynie na podstawie podmiany kluczy zabezpieczających.
A teraz, nieco bardziej programistycznie rozbudowany opis działania wtyczki – dla dociekliwych.
Pierwszym krokiem jest podzielenie repozytorium na dwie gałęzie:
- “main” – główna – na której jest projekt w wersji deweloperskiej;
- “build” – na której za pomocą wykorzystanych “github actions” buduje się przy każdym commicie “paczka zbudowana” (czyli taka paczka, którą wrzucamy na serwer i działa).
Przy każdej zmianie, paczka build budowana jest na nowo, więc content z wordpressa jest aktualizowany. Samą aktualizację bez zmian w kodzie wywołujemy tak samo – github actions odpala odpowiedni flow który zaciąga dane z wordpressa i buduje paczkę, w efekcie czego podczas kliknięcia mamy na branchu build w githubie wersję gotową do wrzucenia na serwer. To samo kliknięcie wywołuje umieszczenie zawartości brancha “build” na serwerze.
Podsumowując, rebuilder to często wykorzystywana, wordpressowa wtyczka. Służy do łatwego i bezproblemowego przebudowania strony, kiedy poddamy edycji jej treść. Dzięki rebuilderowi, możemy zrobić to za pomocą jednego kliknięcia.