Kontrola wersji

Wdróż z repozytorium, którego już używasz — dziewięć miejsc, w których możesz je umieścić

Proszę połączyć konto GitHub lub GitLab, na którym Pan/Pani pracuje, i wdrażać bezpośrednio z gałęzi: do Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps lub AWS Amplify — albo na nasz własny hosting zarządzany, gdzie repozytorium i pliki witryny pozostają zsynchronizowane w obu kierunkach. Każde połączenie wskazuje wymagane uprawnienia, jest weryfikowane z API dostawcy przed zapisaniem i przechowywane w Vault. Można również logować się za pomocą GitHub lub GitLab.

Commit przemieszczający się wzdłuż potoku z repozytorium do działającej witryny.
  • GitHub + GitLabPołącz konto, które już posiadasz
  • Dziewięć miejsc docelowychosiem hostów brzegowych oraz nasza własna flota
  • Synchronizacja dwukierunkowakażda witryna, każdy wiersz
  • Przechowywane w Vaultsprawdzane przy wprowadzaniu, nigdy w dzienniku
  • Token sprawdzony przed zapisaniemtoken o zbyt szerokim zakresie nigdy nie trafia do wdrożenia
  • Wypchnij, aby wdrożyćpodpis zweryfikowany i opcjonalne
  • Twoja gałąź, twoja kompilacjaopublikuj katalog lub uruchom własne CI
  • Rozłącz bezpiecznieusuwamy dokładnie ten hook, który utworzyliśmy

Połącz się raz i zobacz, na co wyrażasz zgodę

Połączenie to dane uwierzytelniające przekazywane innej osobie. Nasze rozwiązanie informuje o wymaganiach przed jego utworzeniem, potwierdza poprawność działania przed zapisaniem i może zostać cofnięte przez każdą ze stron.

Uprawnienia, określone z góry

Zanim utworzą Państwo token, informujemy, do czego musi być zdolny i dlaczego. Bez ogólnego zakresu tylko dlatego, že łatwiej było o niego poprosić, i bez dowiadywania się po fakcie, że chcieliśmy więcej, niż wymagało zadanie.

Zweryfikowano u dostawcy, nie przyjęto na wiarę

Przed zapisaniem tokena wywołujemy za jego pomocą własne API dostawcy. Niepoprawny, wygasły lub mający niewłaściwy zakres token jest odrzucany na poziomie formularza, zamiast zostać zaakceptowany, wyświetlony jako prawidłowy i zawieść dopiero przy pierwszym rzeczywistym wdrożeniu.

Przechowywane w Vault i nigdzie indziej

Nie w naszym kodzie, nie w pliku środowiskowym, nie w dzienniku i nie w wierszu poleceń. Rozwiązywane w momencie użycia, przez obciążenie, które go używa.

Więcej niż jedno konto, wybierane dla każdej witryny

Połącz konto osobiste z kontem organizacji lub połącz dwa konta organizacji. Każda witryna wybiera, z którego konta ma być wdrażana, dzięki czemu repozytorium klienta i twoje własne nigdy nie współdzielą danych uwierzytelniających.

Dziewięć miejsc, w których może wylądować repozytorium

Osiem zarządzanych hostów brzegowych i nasza własna flota. Miejsce docelowe jest właściwością witryny, a nie połączenia, dzięki czemu to samo repozytorium może publikować jedną gałąź na hoście Pages, a inna witryna może działać na naszym sprzęcie.

Cloudflare Pages

Nielimitowana przepustowość, dozwolony użytek komercyjny oraz obsługa domen apex u tego samego dostawcy, który zazwyczaj utrzymuje Państwa strefę DNS. Z tych powodów jest to pierwszy wybór, po który sięgamy.

Hosting Cloudflare Pages →

GitHub Pages

Publikuj bezpośrednio z repozytorium, w którym znajduje się już kod. Oznaczono w wierszu Footprint-Free, ponieważ współdzielona infrastruktura github.io sama w sobie stanowi ślad.

Hosting GitHub Pages →

GitLab Pages, Netlify, Vercel i reszta

GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps i AWS Amplify to miejsca docelowe, na które można skierować witrynę, zachowując to samo połączenie i tę samą historię wdrożeń.

Hosting stron statycznych →

Nasz własny hosting zarządzany

Pełna aplikacja, a nie skompilowany pakiet — WordPress, PHP, Node. Jest to miejsce docelowe, które otrzymuje synchronizację dwukierunkową, dzięki czemu pliki na maszynie i w gałęzi pozostają zsynchronizowane.

Hosting zarządzany →

Witryny na brzegu sieci kogoś innego

Witryna opublikowana na serwerze, który nie należy do nas, nadal zużywa limit i wciąż pojawia się w Państwa panelu wraz ze swoimi wdrożeniami, czasem bezawaryjnej pracy oraz danymi SEO obok wszystkich innych uruchomionych elementów.

Limity witryn zewnętrznych →

Lub edytuj tutaj

Edytor w przeglądarce działa na tych samych plikach, które odsyła synchronizacja dwukierunkowa, dzięki czemu szybka poprawka z poziomu panelu staje się commitem w Państwa gałęzi, zamiast zmianą, której nikt później nie będzie mógł odnaleźć.

Edytor stron →

Synchronizacja dwukierunkowa

Twoje repozytorium i działająca witryna, w pełnej zgodzie

Wystarczy to włączyć, a pliki witryny zostaną zacommitowane z powrotem do twojego brancha, podczas gdy commity z tego brancha powrócą na stronę. Działa to na każdej hostowanej przez nas stronie, w każdej linii — jedynym wymogiem jest możliwość uruchomienia narzędzia Git na plikach przez maszynę bazową, co jest weryfikowane na serwerze, a nie zakładane na podstawie planu.

To Państwo decydują, który katalog ma być synchronizowany, ponieważ klient WordPress chce śledzić swój motyw, a nie czterdzieści tysięcy plików bazowych. Funkcja ta pozostaje wyłączona, dopóki jej Państwo nie włączą: uruchomienie synchronizacji to decyzja dotycząca cudzego repozytorium, a migracja nigdy nie powinna podejmować jej za Państwa.

  • Zmiany na naszym sprzęcie stają się commitami w twojej gałęzi
  • Zatwierdzenia (commity) w twojej gałęzi wracają do witryny
  • Zsynchronizuj jeden katalog — motyw, wtyczkę — a nie cały katalog główny dokumentów
  • Domyślnie wyłączone, w tym na każdej już istniejącej witrynie
Plik otwarty w edytorze oraz ten sam plik pokazany jako commit w repozytorium.

Opublikuj katalog lub pozwól własnemu CI go zbudować

Dwa tryby, a różnica polega na tym, gdzie uruchamiana jest kompilacja. Oba kończą się w tym samym miejscu: refem, który pobieramy i publikujemy, z zatwierdzeniem zarejestrowanym dla wdrożenia.

  • Tryb publikowania pobiera gałąź w jej bieżącej postaci i publikuje wskazany katalog — puste pole oznacza katalog główny repozytorium.
  • Tryb CI uruchamia polecenie kompilacji we własnym potoku twojego dostawcy i zatwierdza dane wyjściowe w osobnej gałęzi publikowania, którą pobieramy jak każde inne odwołanie.
  • Gałąź, z której publikowane jest wdrożenie, jest zawsze określana bezpośrednio z nazwy, nigdy jako „gałąź domyślna” — gałąź domyślna może ulec zmianie bez Państwa wiedzy, a historia, która nie wskazuje, jaka gałąź została opublikowana, nie jest historią.
  • Automatyczne wdrażanie jest domyślnie włączone i można je wyłączyć bez usuwania webhooka, dzięki czemu mogą Państwo obserwować przychodzące dostawy przed zezwoleniem na ich działanie.
  • Każde wdrożenie rejestruje swój commit, swój wynik oraz swój czas i działa w tle — strona aktualizuje się po zakończeniu kompilacji.
  • Rozłączenie powoduje usunięcie dokładnie tego webhooka, który utworzyliśmy, na podstawie jego identyfikatora (id), i niczego innego w Państwa repozytorium.

Od repozytorium po działającą witrynę

  1. Połącz konto

    GitHub lub GitLab, w sekcji Połączenia. Uprawnienia są wymienione przed utworzeniem tokenu, a przed zapisaniem jest on weryfikowany u dostawcy.

  2. Skieruj witrynę na repozytorium

    Właściciel, repozytorium, gałąź oraz to, czy publikujemy katalog, czy pobieramy to, co zbudowało Państwa CI. W ramach tego rejestrujemy webhook push.

  3. Pchnij lub naciśnij przycisk

    Wypchnięcie (push) do wyznaczonej gałęzi rozpoczyna wdrożenie, bądź mogą Państwo wdrożyć na żądanie z karty Wdrażanie w witrynie. Kompilacje działają w tle.

  4. Obejrzyj to i zsynchronizuj z powrotem, jeśli chcesz

    Historia wdrożeń pokazuje, co i kiedy zostało opublikowane. Włącz synchronizację dwukierunkową, a wprowadzone tutaj zmiany powrócą jako commity w twojej gałęzi.

Gdy coś jest nie tak

„Połączono, ale nigdy nie doręczono” to stan, o którym rzeczywiście cię poinformujemy

Połączenie z repozytorium, które wygląda na sprawne, a niczego nie odbiera, to klasyczny cichy błąd — token o niewłaściwym zakresie, dostarczenie zablokowane u dostawcy, hook usunięty ręcznie przez użytkownika. Jest to niewidoczne na każdym innym ekranie, dlatego karta repozytorium wyświetla to bezpośrednio: kiedy dostawca zrealizował ostatnie dostarczenie i jaki był jego komunikat.

Doręczenia są weryfikowane pod kątem podpisu przed podjęciem przez nas działań, przy użyciu schematu właściwego dla danego dostawcy, a nie takiego, o którym zakładaliśmy, że ma zastosowanie do wszystkich. Doręczenie, którego nie uda się zweryfikować, jest odrzucane i rejestrowane, a nie po cichu ignorowane.

  • Czas i komunikat ostatniego doręczenia na karcie
  • Podaje się „Nigdy niedoręczono”, a nie pozostawia puste
  • Podpis zweryfikowany dla każdego dostawcy przed jakimkolwiek uruchomieniem
  • Utworzony przez nas punkt zaczepienia jest usuwany według identyfikatora po rozłączeniu się
Doręczenie webhooka przychodzi i jest sprawdzane, zanim cokolwiek wywoła.

Tożsamość

Zaloguj się przez GitHub lub GitLab — albo Google, albo Microsoft

Oprócz adresu e-mail i hasła do swojego konta Zinn Digital® mogą się Państwo zalogować za pomocą GitHub, GitLab, Google lub Microsoft. Warstwa tożsamości przeprowadza uzgadnianie (handshake); nigdy nie widzimy Państwa hasła u dostawcy, a połączenie konta społecznościowego z istniejącym kontem Zinn® nadal wymaga potwierdzenia przez e-mail.

Logowanie się za pomocą GitHub i łączenie GitHub na potrzeby wdrożeń to osobne decyzje i osobne dane uwierzytelniające. Wykonanie jednego nie powoduje wykonania drugiego, a usunięcie jednego nie usuwa drugiego.

  • Logowanie przez GitHub, GitLab, Google i Microsoft
  • Klucze dostępu i uwierzytelnianie dwuskładnikowe na tym samym koncie
  • Dane logowania i dane wdrożeniowe pozostają rozdzielone
Delegowany dostęp dla twojego zespołu
Kilka osób logujących się na jedno konto za pośrednictwem różnych dostawców.

Często zadawane pytania

Których dostawców kontroli wersji mogę połączyć?

GitHub i GitLab. Proszę połączyć konto, na którym już Państwo pracują, a my będziemy mogli wdrażać z jego repozytoriów, zarejestrować dla nich webhook typu push oraz — jeśli sobie Państwo tego życzą — synchronizować pliki witryny w drugą stronę. Oba rozwiązania korzystają z tego samego mechanizmu połączonego konta, więc wszystko poniżej odnosi się do każdego z nich.

Czy mogę zalogować się za pomocą GitHub lub GitLab?

Tak, a także za pomocą Google lub Microsoft. Oprócz adresu e-mail i hasła mogą się Państwo zalogować na swoje konto Zinn Digital® przy użyciu dowolnej z tych czterech opcji. Warstwa tożsamości obsługuje uzgadnianie (handshake), a my nigdy nie widzimy hasła dostawcy. Logowanie za pomocą GitHub to zupełnie inna kwestia niż połączenie GitHub na potrzeby wdrożeń — mogą Państwo wybrać jedno z nich, oba lub żadne.

Gdzie mogę wdrożyć repozytorium?

Do Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps lub AWS Amplify w przypadku witryny statycznej lub zbudowanej — albo na nasz własny zarządzany hosting, gdzie repozytorium i pliki witryny pozostają zsynchronizowane w obu kierunkach. To Państwo wybierają miejsce docelowe dla witryny; połączenie z repozytorium w obu przypadkach przebiega tak samo.

Czy mogą Państwo stworzyć moją stronę, czy musi być ona wcześniej zbudowana?

Dowolny z nich. W trybie publikacji pobieramy gałąź w obecnej postaci i publikujemy wskazaną przez Państwa kartotekę. W trybie CI własny potok Państwa dostawcy uruchamia polecenie kompilacji i zatwierdza dane wyjściowe w oddzielnej gałęzi publikacji, którą następnie pobieramy jak każde inne odwołanie. Drugi sposób zachowuje Państwa kompilację we własnym systemie CI, gdzie znajdują się już Państwa dane poufne oraz pamięć podręczna.

Czy push wdraża się automatycznie?

Domyślnie tak — rejestrujemy webhook w repozytorium, a push do wybranej przez Państwa gałęzi uruchamia wdrożenie. Mogą Państwo to wyłączyć i zachować webhook, co jest bardziej przydatne, niż się wydaje: dostarczenie jest nadal rejestrowane, więc mogą Państwo obserwować przychodzące pushe, zanim pozwolą nam Państwo na nie zareagować.

Co to jest synchronizacja dwukierunkowa?

Edycje dokonane na naszym sprzęcie stają się commitami w twojej gałęzi, a commity z twojej gałęzi wracają na stronę. Funkcja jest wyłączona, dopóki jej nie włączysz, ponieważ jej włączenie to decyzja dotycząca czyjegoś repozytorium i nie podejmiemy jej za ciebie. To ty wybierasz, który katalog ma się synchronizować — zwykle jest to motyw lub wtyczka, a nie czterdzieści tysięcy podstawowych plików WordPress.

Co się stanie, jeśli obie strony uległy zmianie?

Nic nie zostaje nadpisane ani wypchnięte. Synchronizacja zatrzymuje się, informuje, że gałąź przesunęła się poza commit, na którym się opieraliśmy, i pyta, którą stronę chcą Państwo zachować — repozytorium czy witrynę. Witryna, która nigdy nie była synchronizowana i wskazuje na gałąź mającą już commity, to również odrębny stan, dlatego system pyta, zamiast zgadywać, która wersja jest właściwa.

W jaki sposób chroniony jest mój token dostępu?

Przed utworzeniem połączenia pokazujemy uprawnienia, których ono wymaga, sprawdzamy token w interfejsie API samego dostawcy podczas wprowadzania — dzięki czemu token nieprawidłowy lub o błędnym zakresie nigdy nie jest zapisywany — i dopiero wtedy zapisujemy go w Vault. Nigdy nie trafia on do naszego kodu, dziennika, pliku środowiskowego ani wiersza poleceń. Mogą go Państwo unieważnić u dostawcy lub usunąć połączenie tutaj, w dowolnym momencie.

Jak mogę sprawdzić, czy rzeczywiście odbierają Państwo moje wypchnięcia (pushe)?

Karta repozytorium pokazuje, kiedy dostawca ostatnio dokonał doręczenia i co zgłosił. Status „Nigdy nie doręczono” jest najbardziej przydatną informacją diagnostyczną na tym ekranie, ponieważ stan „połączono, ale nigdy nie doręczono” dokładnie odpowiada tokenowi o nieprawidłowym zakresie lub zablokowanemu doręczeniu — a nie jest to widoczne nigdzie indziej. Każde doręczenie jest weryfikowane pod kątem podpisu, zanim podejmiemy jakiekolwiek działania.

Czy mogę używać wdrażania Pages na linii Footprint-Free?

Jest oferowany i jest oznaczony. GitHub Pages i GitLab Pages współdzielą infrastrukturę dostawcy oraz publiczne nazwy hostów github.io i gitlab.io, a to stanowi ślad (footprint) — jedyną rzecz, której unikać ma ta linia. W przypadku sieci bez śladu (zero-footprint), wdróż zamiast tego na izolowanym hostingu. Wszędzie indziej Pages jest najwyższej klasy.

Dlaczego muszę jawnie wybrać Vercel?

Ponieważ jego bezpłatny plan jest licencjonowany wyłącznie do użytku niekomercyjnego. W bezpiecznych przypadkach wnioskujemy miejsce docelowe na podstawie połączonych przez Państwa kont, a Vercel został celowo wykluczony z tego wnioskowania — połączenie konta nigdy nie może po cichu umieścić witryny komercyjnej w miejscu, w którym nie zezwala na to jej licencja. Po wybraniu tej opcji działa ona dokładnie tak, jak pozostałe.

Czy mogę zobaczyć, co i kiedy zostało wdrożone?

Tak. Każde wdrożenie rejestruje opublikowany commit, czas jego uruchomienia oraz sposób zakończenia, a karta Wdrożenie w witrynie wyświetla historię wraz z aktywnym adresem URL. Wdrożenia działają w tle, więc strona aktualizuje się po zakończeniu kompilacji, zamiast zmuszać użytkownika do czekania na ekranie ładowania.

Wdróż ze swojego repozytorium

Rozpocznij 14-dniowy okres próbny bez karty, połącz GitHub lub GitLab i skieruj witrynę na gałąź. Publikuj na hoście brzegowym lub na naszym własnym hostingu z dwukierunkową synchronizacją plików.

Rozpocznij za darmo