DE{CODE}: Najlepsze praktyki dotyczące wdrażania witryny z lokalnie
Opublikowany: 2023-02-12Chociaż nie ma złego sposobu na uruchomienie witryn, w tej sesji omówiono różne opcje wdrażania witryny ze środowiska lokalnego do środowiska produkcyjnego. Dołącz do niezależnego instruktora i programisty sieci Web, Carrie Dills, która przygląda się niektórym lokalnym narzędziom przepływu pracy i wyjaśnia, dlaczego możesz wybrać jedną metodę wdrożenia zamiast innej w oparciu o szczegóły zespołu, przepływu pracy i witryny!
Slajdy sesji
Transkrypcja pełnego tekstu
CARRIE DILS : Cześć. Witamy w najlepszych praktykach wdrażania witryny z użyciem Local. Tak więc jako profesjonalny programista stron internetowych jesteś już zaznajomiony z koncepcją tworzenia witryn na komputerze lokalnym, a następnie wdrażania ich na serwerze na żywo, zamiast faktycznego tworzenia na serwerze na żywo. Jeśli chodzi o konfigurowanie lokalnego środowiska programistycznego, istnieje mnóstwo opcji. Masz MAMP lub WAMP lub XAMPP lub DesktopServer.
Istnieje wiele różnych narzędzi, których możesz do tego użyć. Moim osobistym faworytem jest LocalWP. To darmowa dostawa – przepraszam. Nazywa się Local, ale jest dostępny na localwp.com. To bezpłatne narzędzie programistyczne. Jest naprawdę łatwy w konfiguracji i oprócz tego, że jest miejscem do tworzenia lokalnych witryn, ma również kilka opcji wdrażania życia witryny. Ale ma też wiele innych korzyści dla twojego przepływu pracy, takich jak dostęp do trasy SSH, WPCLI, wbudowane pomijanie pamięci podręcznej, a nawet SSL jednym kliknięciem.
Więc jeśli już to masz, to jesteś gotowy do pracy. Jeśli nie, to jest OK. Więc zanim jeszcze porozmawiamy o sposobach wdrożenia, zróbmy kopię zapasową autobusu i porozmawiajmy o tym, co jest faktycznie zaangażowane, jeśli chodzi o migrację witryny WordPress. Więc pomyśl o tym jak o dwóch rzeczach. Masz swoje pliki i swoją bazę danych. A kiedy mówimy o migracji witryny, mówimy po prostu o przeniesieniu tych dwóch rzeczy na serwer docelowy. Rozumiem?
W porządku. Więc jeśli miałbyś złamać instalację WordPressa lub może zrobić świeże pobranie WordPressa i otworzyć go, zobaczyłbyś trzy główne pliki - lub przepraszam, foldery, WP Admin, WP Includes i WP Content oraz garść plików w tym katalogu głównym. Teraz na potrzeby migracji, zakładając, że na serwerze docelowym jest już zainstalowany WordPress, martwisz się tylko tym folderem WP Contents. Więc to będzie przechowywać twoje motywy, wtyczki, a także wszelkie przesłane pliki, które wykonałeś za pośrednictwem administratora WordPress. Jeśli przesłałeś pliki multimedialne, zostaną one również fizycznie uwzględnione w tym folderze WP Content.
Mając to na uwadze, mamy pliki, mamy bazę danych. Przyjrzyjmy się naszym możliwościom rzeczywistego posunięcia naprzód migracji. W porządku. Jeśli dołączysz do mnie w swoim wehikule czasu, który na pewno masz obok, gdziekolwiek to oglądasz. Śmiało, wskocz do tego wehikułu czasu, a my cofniemy się do czegoś, co nazywa się FTP lub protokołem przesyłania plików. Proszę cię – nalegam, proszę, nigdy nie używaj FT–
[ŚMIECH]
–FTP. Jeśli musisz, przynajmniej przejdź do SFTP lub bezpiecznego protokołu przesyłania plików, który dodaje warstwę bezpieczeństwa do tego procesu przenoszenia plików. Lub możesz być z hostem, który ma cPanel, który działa trochę tak samo. Jest to przeglądarka plików i przenosisz pliki tam iz powrotem między serwerem lokalnym a serwerem na żywo. To jest za dbanie o pliki. A ty mówisz, czekaj, Carrie. Pamiętam, jak właśnie powiedziałeś, że masz też bazę danych do przeniesienia. I doceniam, że o tym pamiętasz.
Więc jeśli chodzi o bazę danych, może to wydawać się trochę onieśmielające, jeśli nie jesteś przyzwyczajony do grzebania w bazie danych MySQL. Zasadniczo proces polega na wyeksportowaniu lokalnej bazy danych jako pliku gzip. Zamierzasz to pobrać, a następnie w menedżerze bazy danych, który znajduje się na serwerze produkcyjnym, zaimportujesz tę bazę danych.
[KRZYCZĄCY DŹWIĘK]
To działa, to działa. Wykonuje zadanie. Ale prawdopodobnie będziesz musiał użyć wtyczki, takiej jak Lepsze wyszukiwanie i zamiana, aby zastąpić wszystkie te rozwojowe adresy URL swoim aktywnym adresem URL. Więc po prostu miej to na uwadze.
Następnie mamy wtyczki migracyjne. Oficjalnie przenieśliśmy się w przyszłość i znajdujemy łatwiejsze sposoby przenoszenia witryn z lokalnych do żywych. Więc jeśli chodzi o wtyczki migracyjne, w repozytorium wtyczek WordPress jest ich mnóstwo. Niektóre z moich ulubionych, All-In-One Migration, Duplicater i WP Migrate DB.
Teraz, jeśli chodzi o te, zapewnią ci inny rodzaj pomocy. A więc w porównaniu z tym całkowicie ręcznym procesem, któremu przyglądaliśmy się za pomocą cPanel lub SFTP. Będą robić kilka fajnych rzeczy, na przykład kiedy przygotuje twoją bazę danych, pójdzie dalej i pomoże ci z tym adresem URL – zamiana adresu lokalnego na adres URL na żywo. I spakuje twoje pliki za ciebie, ale nadal będziesz musiał coś zrobić z tymi plikami po stronie odbiorcy. Każda z tych wtyczek działa w nieco inny sposób, ale pomogą ci one w procesie przechodzenia do życia lokalnego.
Byłbym tutaj niedbały, gdybym nie wspomniał o mojej absolutnie ulubionej wtyczce do tego, czyli Migrate DB Pro. Jest to tworzone przez Brada Touesnarda i jego zespół w Delicious Brains. A to, co robi ta wtyczka, jest w rzeczywistości wtyczką do wdrażania hurtowego. Więc weźmie twoje pliki, twoją bazę danych, pozwoli ci uzyskać naprawdę szczegółowe informacje o tym, które tabele chcesz przenieść, a następnie wypchnie je do twojego środowiska na żywo. Teraz, ponieważ jest to niesamowite narzędzie, robi to - musiałbyś wyciągnąć portfel, aby z niego skorzystać. Ale to ogromna oszczędność czasu.
Ale pewnie myślisz, Carrie, myślałem, że mówimy o Localu. I mówimy o lokalnym. Kiedyś musieliśmy tworzyć kopie zapasowe, sprawdzać, co było związane z procesem migracji, a następnie wymyślać sposoby migracji witryny. Teraz WP Migrate DB Pro jest niesamowity. Ale jeśli chodzi o Local, otrzymujesz również lokalne środowisko programistyczne. Ale poczekaj, jest więcej. Dostajesz coś, co nazywa się Local Connect i Magic Sync, czyli możliwością wdrożenia jednego naciśnięcia z lokalnego na żywo. I faktycznie pozwala ci iść w innym kierunku, jeśli chcesz ciągnąć. Ale koncentrujemy się na wdrożeniu tego.
Jedynym problemem w dogadaniu się jest to, że Local Connect działa z dwoma hostami internetowymi, Flywheel i WP Engine. Wiem, że wielu z was, którzy to oglądają, może już mieć takie konta. To cudownie. Jeśli nie, nie martw się, istnieje kilka bezpłatnych sposobów na ich wypróbowanie.

Więc Flywheel, możesz stworzyć nową stronę demonstracyjną, rozwinąć ją i używać jej do grania z Local Connect. A potem, podobnie, z WP Engine, możesz utworzyć bezpłatne konto programu partnerskiego, które jest dostarczane z witryną, którą możesz połączyć z Local.
OK. Wszyscy gotowi na demo? Usłyszałem zdecydowane tak. Więc idę do marca z wersją demonstracyjną. Oczywiście, co może pójść nie tak?
[chichoty]
OK. Więc jeśli chodzi o proces wdrażania, musisz mieć witrynę do wdrożenia. Więc jestem tutaj w obszarze konta WP Engine. Tworzę lokalną witrynę i mówię, że jest to środowisko przejściowe. A my pójdziemy dalej i dodamy to. Teraz wracając do Local, najpierw muszę połączyć Local z moim hostem, w tym przypadku WP Engine.
Mam zamiar się zalogować i daje mi tam kilka linków. Idę odwiedzić ten górny link. To przenosi mnie z powrotem do mojego konta WP Engine i tam mogę wygenerować moje dane uwierzytelniające. To daje mi nazwę użytkownika i hasło API. Pozwól, że pójdę dalej i skopiuję to, przejdź do Local, wklej to i zrób to samo dla hasła. A teraz jesteśmy w trakcie łączenia się z WP Engine. A to, co tutaj widzisz, to lista wszystkich witryn, które hostowałem w WP Engine, które są teraz dostępne dla mnie i lokalnie. I zauważ, że mogę je przeciągnąć bezpośrednio do Local. Ale znowu mówimy tutaj o innym kierunku.
OK, więc jesteś ze mną do tej pory? Stworzyliśmy witrynę na naszym hoście, do której zamierzamy wysłać naszą lokalną witrynę, a także połączyliśmy narzędzie lokalne z WP Engine. W porządku, do przodu. Teraz nadszedł czas, aby faktycznie sprawdzić witrynę, którą stworzyłem lokalnie i jest cholernie nudna, ale chcę tylko, żebyś zobaczył, co to jest, abyśmy mieli kontekst, kiedy wysyłamy ją w górę.
Najpierw podłączę tę konkretną witrynę do WP Engine. A potem jednym kliknięciem, bum. Po prostu powie, do której witryny chcesz to wysłać, a ja wybiorę lokalną witrynę demonstracyjną, którą właśnie utworzyłem. Możesz też przejść bezpośrednio do fazy testowej, produkcyjnej lub programistycznej. A teraz w tym przypadku robię inscenizację. Opcjonalnie możesz dołączyć, czy chcesz wysłać bazę danych. Oto profesjonalna wskazówka. Kiedy rozwijam się lokalnie, czasami robię się naprawdę leniwy i używam okropnej nazwy użytkownika i hasła. Pamiętaj, że wysyłając to na działający serwer, chcesz mieć pewność, że używasz bezpiecznej nazwy użytkownika i hasła, nawet jeśli nie jest to twoje środowisko produkcyjne.
OK. Rozpoczęliśmy więc proces pchania. Wiąże się to z przesyłaniem plików. Rozmawialiśmy o przenoszeniu plików
A potem pójdziemy i załadujemy tę bazę danych, ponieważ wybraliśmy bazę danych w naszych opcjach. To musiało być w dużej bazie danych.
[ŚMIECH]
Teraz wykonuje to wyszukiwanie i zastępowanie adresu URL, o którym wspominaliśmy, oraz sprawdza prefiks tabeli bazy danych, aby upewnić się, że pasuje on do lokalnego i na żywo. Tak więc przez ten proces wdrażania, a nawet widzę na dole ekranu, ile czasu minęło od mojego ostatniego wdrożenia. Wróćmy więc do mojego konta WP Engine. Idę otworzyć tę stronę, którą właśnie przepchnąłem. A jeśli ją odwiedzimy, zobaczysz, że jest to strona, którą właśnie mieliśmy lokalnie. Ponownie, nie jest to nic nadzwyczajnego, ale jest. Aby pokazać Ci sytuację z adresem URL, możesz zobaczyć, że zaktualizował się do aktywnego adresu URL. Tak całkiem fajnie.
W porządku. Nadal ze mną? Podsumowując, do tej pory wybraliśmy witrynę na żywo – lub przepraszam, lokalną witrynę, którą opracowaliśmy lokalnie. Utworzyliśmy witrynę na serwerze docelowym. Połączyliśmy lokalnie z naszym kontem WP Engine, a także połączyliśmy konkretną witrynę z WP Engine. A potem, voila, za naciśnięciem przycisku robi to wszystko. Zastępuje adresy URL. Niszczy pamięć podręczną. Robi także kopie zapasowe podczas procesu, na wypadek gdyby coś poszło nie tak. Wdrażanie z lokalnym jest więc absurdalnie proste. Kiedy pierwszy raz to zobaczyłem, zostałem sprzedany.
Teraz na wypadek, gdybyś nie był pod wrażeniem – mam nadzieję, że tak. Ale jeśli nie jesteś, teraz chcę przedstawić ci coś, co nazywa się MagicSync. Teraz MagicSync jest przeglądarką, w której masz coś w rodzaju dwupanelowego okna, w którym możesz zobaczyć, jakie pliki znajdują się w Twojej lokalnej witrynie i porównać je z plikami w witrynie docelowej, a także dokładnie określić, które pliki chcesz wdrożyć. Spójrzmy.
OK. Więc jestem z powrotem w Local. A jeśli przejdę do Preferencji lokalnych, jest przycisk, który mogę przełączyć na MagicSync. I włącz to, i po prostu śmiało i aplikuj. OK, teraz muszę utworzyć lub dodać coś do mojej istniejącej witryny lokalnej, aby pokazać Ci, jak działa MagicSync. I zamierzam to zrobić, dodając motyw do mojej lokalnej instalacji WordPress. I po prostu pójdziemy z 2021.
To nie ma znaczenia. Ponownie, po prostu pokazując ci przykład, jak to działa. Więc nie ma potrzeby aktywacji. Więc wracając do Local, ponownie kliknę Push. I tym razem zauważysz – woo, oto jest to okno MagicSync. A jeśli przewiniemy w dół, oto jest motyw 2021. Widzimy, że jest obecny w katalogu plików lokalnie i gdybyśmy go wypchnęli, zostałby dodany do tego zdalnego środowiska.
Możemy również zobaczyć rzeczy, które zostaną usunięte, gdybyśmy to popchnęli, a to oznacza, że plik istnieje zarówno lokalnie, jak i zdalnie. Dzięki MagicSync możesz ponownie uzyskać szczegółowe informacje o plikach, które chcesz przesłać. Teraz nie musisz używać MagicSync. Możesz po prostu zrobić hurtowy push wszystkiego, co jest jednym ze sposobów, aby to zrobić. Po prostu trwa to trochę dłużej niż w przypadku korzystania z MagicSync do wysyłania tylko określonych plików.
Więc wracając do WP Engine. Spójrzmy na stronę na żywo. A jeśli przejdę do tematów, tam to zobaczę. Ten motyw z 2021 roku już tam jest. To jest takie fajne. OK, więc tak w skrócie działa MagicSync. Więc znowu możesz użyć MagicSync jako części procesu wdrażania lub po prostu trzymać się Local Push i to działa - to też działa pięknie. Mam więc nadzieję, że podobało ci się, widząc, jak łatwo to zrobić.
Teraz, jeśli napotkasz problemy podczas wykonywania którejkolwiek z tych czynności, Local ma naprawdę fantastyczne fora wsparcia społeczności. I są mega aktywni. Więc jeśli zadasz pytania, otrzymasz tam odpowiedzi. I pozdrów Claya Griffitha, który tak naprawdę jest oryginalnym twórcą Local. I jest także… zobaczysz go też na forach.
Teraz, jeśli jesteś płacącym klientem WP Engine lub Flywheel, faktycznie otrzymujesz dedykowane wsparcie dla Local i Local Connect, co jest naprawdę fajne. Wiem z doświadczenia, że obaj gospodarze mają niesamowite zespoły wsparcia.
OK, więc podsumujmy. Jeśli chodzi o migracje, jaka jest pierwsza opcja? Racja, SFTP lub cPanel wraz z ręczną bazą danych Migracja. Więc zamierzasz to wyeksportować, a potem musisz to zaimportować. Byłby to więc najbardziej ręczny sposób wdrożenia. Następnie mamy wtyczki do migracji, a następnie kilka pomocników baz danych, które wykonują takie czynności, jak wyszukiwanie i zamiana adresu URL, rzeczy, które mogą sprawdzać prefiksy tabeli naszej bazy danych WordPress.
Więc jest lepiej – znacznie ulepszony w stosunku do starego modelu SFTP, ale nadal nie jest to 100% jedno kliknięcie przycisku. Co oczywiście pozostawia to ostatnie, Local Connect i MagicSync, aby przenieść twoje pliki i bazę danych na serwer i założę się, że możesz powiedzieć, które z nich jest moim ulubionym narzędziem.
Więc jeśli chcesz iść dalej i zacząć, chciałbym zaprosić Cię do pobrania Local z localwp.com, jeśli jeszcze tego nie zrobiłeś, a Local Connect to całkowicie bezpłatna funkcja. Pamiętaj tylko, że działa tylko z kołem zamachowym lub silnikiem WP. Istnieje kilka sposobów wypróbowania jednego z tych hostów, po prostu pobawić się z Connect i poczuć, jak to działa.
W porządku. W związku z tym chciałbym podziękować za poświęcony czas i uwagę oraz życzyć wielu udanych wdrożeń.