Broncodebeheer

Implementeer vanuit de repository die u al gebruikt — negen plekken om het te plaatsen

Verbind het GitHub- of GitLab-account waarin u werkt en implementeer rechtstreeks vanuit een branch: naar Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps of AWS Amplify — of naar onze eigen beheerde hosting, waar de repository en de bestanden van de site in beide richtingen gesynchroniseerd blijven. Elke verbinding toont de rechten die deze nodig heeft, wordt gecontroleerd via de API van de provider voordat deze wordt opgeslagen en bevindt zich in Vault. U kunt zich ook aanmelden met GitHub of GitLab.

Een commit die via een pipeline van een repository naar een live site gaat.
  • GitHub + GitLabVerbind het account dat u al heeft
  • Negen bestemmingenacht edge-hosts, plus onze eigen vloot
  • Tweerichtingssynchronisatieelke site, elke regel
  • Opgeslagen in Vaultgevalideerd bij invoer, nooit in een logboek
  • Token gecontroleerd voordat deze wordt opgeslageneen token met een te ruim bereik landt nooit
  • Pushen om te implementerenhandtekening gecontroleerd en optioneel
  • Uw branch, uw buildpubliceer een map of voer uw eigen CI uit
  • Netjes verbrekenwe verwijderen precies de hook die we hebben gemaakt

Verbind eenmalig en bekijk waarmee u akkoord gaat

Een verbinding is een inloggegeven dat u aan iemand anders overhandigt. Die van ons geeft vóór het aanmaken aan wat er nodig is, bewijst dat het werkt vóór opslag en kan door beide partijen worden ingetrokken.

De bevoegdheden, vooraf vermeld

Voordat u een token aanmaakt, vertellen we u wat deze moet kunnen doen en waarom. Geen alomvattend bereik simpelweg omdat het gemakkelijker was om te vragen, en geen ontdekking achteraf dat we meer wilden dan het werk vereiste.

Geverifieerd bij de provider, niet op goed vertrouwen geaccepteerd

We roepen de eigen API van de provider aan met uw token voordat we deze opslaan. Een onjuist, verlopen of verkeerd bereik hebbend token wordt direct bij het formulier geweigerd, in plaats van te worden geaccepteerd, als gezond te worden weergegeven en pas bij de eerste echte implementatie te mislukken.

Opgeslagen in Vault en nergens anders

Niet in onze code, niet in een omgevingsbestand, niet in een logboek en niet op een opdrachtregel. Opgelost op het moment dat het wordt gebruikt, door de werklast die het gebruikt.

Meer dan één account, gekozen per site

Verbind een persoonlijk account en dat van een organisatie, of twee organisaties. Elke site kiest van waaruit wordt geïmplementeerd, zodat de repository van een klant en die van uzelf nooit inloggegevens delen.

Negen plaatsen waar een repository kan landen

Acht beheerde edge-hosts en onze eigen vloot. De bestemming is een eigenschap van de site, niet van de verbinding, zodat dezelfde repository één branch kan publiceren naar een Pages-host en een andere site op onze hardware kan draaien.

Cloudflare Pages

Onbeperkte bandbreedte, commercieel gebruik toegestaan en apex-domeinen afgehandeld bij dezelfde provider die gewoonlijk uw DNS-zone beheert. Om die redenen is het de eerste bestemming waar we naar grijpen.

Cloudflare Pages-hosting →

GitHub Pages

Publiceer rechtstreeks vanuit de repository waarin de code zich al bevindt. Gemarkeerd op de Footprint-Free-regel, omdat de gedeelde github.io-infrastructuur zelf een footprint is.

GitHub Pages-hosting →

GitLab Pages, Netlify, Vercel en de rest

GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps en AWS Amplify zijn allemaal bestemmingen waar u een site naar kunt verwijzen, met dezelfde verbinding en dezelfde implementatiegeschiedenis.

Hosting voor statische sites →

Onze eigen beheerde hosting

Een volledige applicatie in plaats van een gebundeld pakket — WordPress, PHP, Node. Dit is de bestemming die tweerichtingssynchronisatie krijgt, zodat de bestanden op de server en de branch synchroon blijven.

Managed hosting →

Sites op de edge van iemand anders

Een site die is gepubliceerd op een host die niet van ons is, verbruikt nog steeds een tegoed en verschijnt nog steeds in uw dashboard met zijn implementaties, zijn uptime en zijn SEO-gegevens naast al het andere dat u uitvoert.

Toegestane externe sites →

Of bewerk het hier

De editor in de browser werkt op dezelfde bestanden die door tweerichtingssynchronisatie worden teruggestuurd, zodat een snelle oplossing via het dashboard een commit op uw branch wordt in plaats van een wijziging die later niemand meer kan vinden.

De webeditor →

Tweerichtingssynchronisatie

Uw repository en uw live website, perfect op elkaar afgestemd

Schakel het in en de eigen bestanden van de site worden terug gecommit naar uw branch, terwijl commits op die branch weer terugkomen naar de site. Het werkt op elke site die we hosten, op elke lijn — de enige vereiste is dat de onderliggende machine Git kan uitvoeren op zijn bestanden, wat aan de server wordt gevraagd in plaats van aangenomen op basis van het pakket.

U kiest welke map synchroniseert, omdat een WordPress-klant wil dat zijn thema wordt gevolgd en niet veertigduizend kernbestanden. En het staat uit totdat u het inschakelt: het inschakelen van een synchronisatie is een beslissing over de repository van iemand anders, en een migratie mag die nooit voor u nemen.

  • Bewerkingen op onze hardware worden commits op uw branch
  • Commits op uw branch keren terug naar de site
  • Synchroniseer één map — een thema, een plug-in — niet de volledige document root
  • Standaard uitgeschakeld, inclusief op elke site die al bestaat
Een bestand geopend in een editor waarbij hetzelfde bestand wordt weergegeven als een commit in een repository.

Publiceer een map of laat uw eigen CI deze bouwen

Twee modi, en het verschil is waar de build wordt uitgevoerd. Beide eindigen op dezelfde plek: een ref die we ophalen en publiceren, waarbij de commit wordt vastgelegd voor de implementatie.

  • De publicatiemodus neemt uw branch zoals deze is en publiceert de map die u opgeeft – leeg betekent de hoofdmap van de repository.
  • De CI-modus voert uw build-opdracht uit in de eigen pipeline van uw provider en legt de uitvoer vast in een afzonderlijke publicatie-branch, die we net als elke andere referentie ophalen.
  • De branch van waaruit een implementatie wordt gepubliceerd, wordt altijd expliciet benoemd, nooit als 'de standaardbranch' — een standaardwaarde kan immers buiten uw weten veranderen, en een geschiedenis die niet vermeldt welke branch is gepubliceerd, is geen geschiedenis.
  • Automatische implementatie is standaard ingeschakeld en kan worden uitgeschakeld zonder de webhook te verwijderen, zodat u kunt toezien hoe leveringen binnenkomen voordat u ze laat uitvoeren.
  • Elke implementatie legt haar commit, resultaat en tijdstip vast en wordt op de achtergrond uitgevoerd — de pagina wordt bijgewerkt zodra de build is voltooid.
  • Door de verbinding te verbreken, wordt precies de door ons gemaakte webhook verwijderd op basis van de bijbehorende id, en verder niets in uw repository.

Van repository naar live site

  1. Account koppelen

    GitHub of GitLab, onder Verbindingen. De rechten worden vermeld voordat u het token aanmaakt en het wordt gecontroleerd bij de provider voordat het wordt opgeslagen.

  2. Een site naar een repository laten verwijzen

    Eigenaar, repository, branch en of we een map publiceren of ophalen wat uw CI heeft gebouwd. We registreren de push-webhook als onderdeel hiervan.

  3. Duw, of druk op de knop

    Een push naar de aangewezen branch start een implementatie, of u kunt op aanvraag implementeren vanaf het tabblad Implementeren van de site. Builds worden op de achtergrond uitgevoerd.

  4. Bekijk het en synchroniseer weer terug als u dat wilt

    De implementatiegeschiedenis toont wat er is gepubliceerd en wanneer. Schakel tweerichtingssynchronisatie in en de bewerkingen die u hier uitvoert, worden als commits naar uw branch overgebracht.

Wanneer er iets misgaat

'Verbonden maar nooit afgeleverd' is een status waarover we u daadwerkelijk zullen informeren

Een repository-verbinding die er gezond uitziet en niets ontvangt, is de klassieke stille storing — een token met het verkeerde bereik, een levering die bij de provider is geblokkeerd of een hook die iemand handmatig heeft verwijderd. Het is op elk ander scherm onzichtbaar, dus de repository-kaart toont het direct: wanneer de provider voor het laatst aan ons heeft geleverd en wat deze meldde.

Afleveringen worden op handtekening gecontroleerd voordat we er actie op ondernemen, met het eigen schema van elke provider in plaats van een schema waarvan we aannamen dat het voor allemaal gold. Een aflevering die niet wordt geverifieerd, wordt geweigerd en vastgelegd, en niet stilletjes genegeerd.

  • Laatste bezorgtijd en bericht, op de kaart
  • 'Nooit bezorgd' wordt vermeld, niet leeg gelaten
  • Handtekening geverifieerd per provider voordat er iets wordt uitgevoerd
  • De door ons gemaakte hook wordt op basis van de id verwijderd wanneer u de verbinding verbreekt
Een webhook-levering komt binnen en wordt gecontroleerd voordat deze iets in gang zet.

Identiteit

Aanmelden met GitHub of GitLab — of Google, of Microsoft

Naast een e-mailadres en een wachtwoord kunt u zich aanmelden bij uw Zinn Digital®-account met GitHub, GitLab, Google of Microsoft. De identiteitslaag voert de handshake uit; we zien uw providerwachtwoord nooit en het koppelen van een sociaal account aan een bestaand Zinn®-account moet nog steeds per e-mail worden bevestigd.

Aanmelden met GitHub en het koppelen van GitHub voor implementaties zijn afzonderlijke beslissingen en afzonderlijke inloggegevens. Het een doen doet het ander niet, en het verwijderen van het een verwijdert het ander niet.

  • Inloggen met GitHub, GitLab, Google en Microsoft
  • Passkeys en tweeledige verificatie op hetzelfde account
  • Aanmeldings- en implementatiegegevens blijven gescheiden
Gedelegeerde toegang voor uw team
Meerdere personen die zich aanmelden bij één account met verschillende providers.

Veelgestelde vragen

Welke broncodebeheerproviders kan ik verbinden?

GitHub en GitLab. Koppel het account waarin u al werkt en wij kunnen vanuit de repositories ervan implementeren, er een push-webhook op registreren en — als u dat wilt — de bestanden van uw site in de andere richting terugsynchroniseren. Beide lopen via hetzelfde gekoppelde-accountraamwerk, dus alles hieronder geldt voor beide.

Kan ik inloggen met GitHub of GitLab?

Ja, en met Google of Microsoft. Naast een e-mailadres en een wachtwoord kunt u met elk van de vier inloggen op uw Zinn Digital®-account. De identiteitslaag verzorgt de handshake en wij zien uw providerwachtwoord nooit. Inloggen met GitHub staat los van het koppelen van GitHub voor implementaties — u kunt een van beide, beide of geen van beide doen.

Waar kan ik een repository implementeren?

Naar Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps of AWS Amplify voor een statische of gebouwde site — of naar onze eigen beheerde hosting, waar de repository en de bestanden van de site in beide richtingen gesynchroniseerd blijven. U kiest de bestemming voor de site; de repositoryverbinding is in beide gevallen hetzelfde.

Kunt u mijn site bouwen, of moet deze al vooraf gebouwd zijn?

Beide. In de publicatiemodus nemen we de branch zoals deze is en publiceren we de map die u opgeeft. In de CI-modus voert de eigen pipeline van uw provider uw build-opdracht uit en commit deze de uitvoer naar een afzonderlijke publicatiebranch, die we vervolgens ophalen zoals elke andere ref. De tweede optie houdt uw build in uw eigen CI, waar uw geheimen en uw caching zich al bevinden.

Wordt een push automatisch geïmplementeerd?

Standaard wel — we registreren een webhook op de repository en een push naar de door u aangewezen branch start een deployment. U kunt dat uitschakelen en de webhook behouden, wat nuttiger is dan het klinkt: de aflevering wordt nog steeds geregistreerd, zodat u kunt zien hoe uw pushes binnenkomen voordat u ons erop laat reageren.

Wat is tweerichtingssynchronisatie?

Bewerkingen die op onze hardware worden uitgevoerd, worden commits op uw branch, en commits op uw branch komen terug naar de site. Deze optie staat uit totdat u deze inschakelt, omdat het inschakelen ervan een beslissing is over de repository van iemand anders en wij die niet voor u zullen nemen. U kiest welke directory wordt gesynchroniseerd — meestal een thema of een plug-in, niet veertigduizend WordPress-kernbestanden.

Wat gebeurt er als beide kanten zijn gewijzigd?

Er wordt niets overschreven en er wordt niets gepusht. De synchronisatie stopt, meldt u dat de branch voorbij de commit is gegaan waarop we ons baseerden, en vraagt welke kant u wilt behouden — de repository behouden, of de site behouden. Een site die nog nooit gesynchroniseerd is en verwijst naar een branch die al commits heeft, is ook een eigen status, en er wordt gevraagd in plaats van geraden wat de juiste versie is.

Hoe wordt mijn toegangstoken beschermd?

We tonen u de bevoegdheden die de verbinding nodig heeft voordat u deze aanmaakt, controleren het token bij invoer tegen de eigen API van de provider — zodat een token dat ongeldig is of een onjuist bereik heeft nooit wordt opgeslagen — en schrijven het pas daarna naar Vault. Het raakt nooit onze code, een logbestand, een omgevingsbestand of een opdrachtregel aan. Trek het in bij de provider of verwijder de verbinding hier, wanneer u maar wilt.

Hoe kan ik zien of u mijn pushes daadwerkelijk ontvangt?

De repositorykaart toont wanneer de provider voor het laatst aan ons heeft geleverd en wat deze heeft gemeld. 'Nooit geleverd' is de meest nuttige diagnostische melding op dat scherm, omdat "verbonden maar nooit geleverd" precies is hoe een token met een verkeerd bereik of een geblokkeerde levering eruitziet — en dit nergens anders zichtbaar is. Elke levering wordt op handtekening gecontroleerd voordat we ernaar handelen.

Kan ik Pages-implementatie gebruiken op de Footprint-Free-lijn?

Het wordt aangeboden en het is gemarkeerd. GitHub Pages en GitLab Pages delen de providerinfrastructuur en openbare github.io- en gitlab.io-hostnamen, en dat is een voetafdruk — het enige dat die lijn juist wil vermijden. Implementeer voor een netwerk zonder voetafdruk (zero-footprint) in plaats daarvan op geïsoleerde hosting. Overal elders is Pages eersteklas.

Waarom moet ik Vercel expliciet kiezen?

Omdat de gratis versie uitsluitend een licentie heeft voor niet-commercieel gebruik. Wij leiden een bestemming af uit de accounts die u hebt gekoppeld waar dat veilig is, en Vercel is bewust uitgesloten van die afleiding — het koppelen van een account mag nooit stilletjes een commerciële site plaatsen waar de licentie dat niet toestaat. Kies ervoor en het werkt precies zoals de andere.

Kan ik zien wat er is geïmplementeerd en wanneer?

Ja. Elke implementatie registreert de commit die is gepubliceerd, wanneer deze is uitgevoerd en hoe deze is voltooid, en het tabblad Implementeren van de site toont de geschiedenis met de live-URL ernaast. Implementaties worden op de achtergrond uitgevoerd, zodat de pagina wordt bijgewerkt zodra de build is voltooid, in plaats van dat u naar een draaiende laadindicator hoeft te kijken.

Implementeren vanuit uw repository

Start een proefperiode van 14 dagen zonder creditcard, koppel GitHub of GitLab en verwijs een site naar een branch. Publiceer naar een edge-host of naar onze eigen hosting waarbij de bestanden in beide richtingen synchroniseren.

Gratis starten