Kontrola izvornog koda

Implementirajte iz repozitorija koji već koristite — devet mjesta za njegovo postavljanje

Povežite račun za GitHub ili GitLab u kojem radite i implementirajte izravno iz grane: na Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps ili AWS Amplify — ili na naš vlastiti upravljani hosting, gdje repozitorij i datoteke web-mjesta ostaju sinkronizirani u oba smjera. Svako povezivanje prikazuje ovlasti koje su mu potrebne, provjerava se putem API-ja pružatelja usluge prije spremanja i pohranjuje se u Vault. Također se možete prijaviti putem servisa GitHub ili GitLab.

Commit koji se kreće duž cjevovoda od repozitorija do aktivnog web-mjesta.
  • GitHub + GitLabPovežite račun koji već imate
  • Devet odredištaosam rubnih poslužitelja, plus naša vlastita flota
  • Dvosmjerna sinkronizacijasvaka web-lokacija, svaki redak
  • Pohranjeno u Vaultprovjereno pri unosu, nikada u zapisniku
  • Token je provjeren prije pohranjivanjatoken s preširokim opsegom nikada se ne primjenjuje
  • Gurni za implementacijupotpis provjeren i neobavezno
  • Vaša grana, vaša međuverzijaobjavite direktorij ili pokrenite vlastiti CI
  • Prekinite vezu na čist načinuklanjamo točno onaj hook koji smo izradili

Povežite se jednom i pogledajte na što pristajete

Veza predstavlja vjerodajnicu koju predajete nekome drugome. Naša navodi što joj je potrebno prije nego što je stvorite, dokazuje da radi prije nego što je pohrani te se može opozvati s bilo koje strane.

Povlastice, navedene unaprijed

Prije nego što izradite token, kažemo vam što on mora moći raditi i zašto. Bez općenitog opsega samo zato što ga je bilo lakše zatražiti, i bez naknadnog otkrivanja da smo tražili više nego što je posao zahtijevao.

Provjereno kod pružatelja usluge, nije prihvaćeno na povjerenje

Pozivamo vlastiti API pružatelja usluge s vašim tokenom prije nego što ga pohranimo. Neispravan, istekao ili pogrešno definiran token odbija se već na obrascu, umjesto da bude prihvaćen, prikazan kao ispravan i zatim zakaže pri prvom stvarnom postavljanju.

Pohranjeno u Vault i nigdje drugdje

Ne u našem kodu, ne u konfiguracijskoj datoteci okruženja, ne u zapisu i ne u naredbenom retku. Razrješava se u trenutku upotrebe, od strane radnog opterećenja koje ga koristi.

Više od jednog računa, odabrano po web-mjestu

Povežite osobni račun i račun organizacije ili račune dviju organizacija. Svako web-mjesto bira s kojeg će se implementirati, tako da klijentov repozitorij i vaš vlastiti nikada ne dijele vjerodajnice.

Devet mjesta na kojima repozitorij može završiti

Osam upravljanih rubnih poslužitelja i naša vlastita flota. Odredište je svojstvo stranice, a ne veze, pa isto spremište može objaviti jedan ogranak na poslužitelju Pages, a druga stranica može raditi na našem hardveru.

Cloudflare Pages

Neograničena propusnost, dopuštena komercijalna upotreba i vršne domene kojima se upravlja kod istog pružatelja usluga koji obično drži Vašu DNS zonu. Iz tih razloga to je prvo odredište kojem se obraćamo.

Cloudflare Pages posluživanje →

GitHub Pages

Objavite izravno iz repozitorija u kojem se kôd već nalazi. Označeno u retku Footprint-Free, jer je dijeljena infrastruktura github.io i sama otisak.

GitHub Pages smještaj →

GitLab Pages, Netlify, Vercel i ostali

GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps i AWS Amplify odredišta su na koja možete usmjeriti web-lokaciju, s istom vezom i istom poviješću implementacije.

Hosting statičkih web-mjesta →

Naš vlastiti upravljani hosting

Potpuna aplikacija, a ne izgrađeni paket — WordPress, PHP, Node. Ovo je odredište koje dobiva dvosmjernu sinkronizaciju, tako da datoteke na poslužitelju i grani ostaju usklađene.

Upravljani hosting →

Web-mjesta na tuđem rubu mreže

Web-mjesto objavljeno na poslužitelju koji nije u našem vlasništvu i dalje troši dodijeljeni paket te se i dalje prikazuje na vašoj upravljačkoj ploči sa svojim implementacijama, vremenom neprekidnog rada i podacima o SEO-u uz sve ostalo što pokrećete.

Ograničenja za vanjske web-lokacije →

Ili uredite ovdje

Uređivač u pregledniku radi na istim datotekama koje dvosmjerna sinkronizacija vraća natrag, pa brzi popravak s nadzorne ploče postaje commit na Vašoj grani umjesto promjene koju nitko kasnije ne može pronaći.

Web uređivač →

Dvosmjerna sinkronizacija

Vaš repozitorij i vaša aktivna web-stranica, usklađeni

Uključite ga i vlastite datoteke web-mjesta potvrdit će se natrag u vašu granu, dok se potvrde na toj grani vraćaju natrag na web-mjesto. To radi na svakom web-mjestu koje hostiramo, na svakoj liniji — jedini je zahtjev da temeljni stroj može pokrenuti Git nad svojim datotekama, što se traži od poslužitelja, a ne pretpostavlja iz plana.

Vi birate koji će se direktorij sinkronizirati jer korisnik platforme WordPress želi praćenje svoje teme, a ne četrdeset tisuća datoteka jezgre. I to je isključeno sve dok ga ne uključite: omogućavanje sinkronizacije odluka je o tuđem repozitoriju, a migracija je nikada ne smije donijeti umjesto vas.

  • Izmjene na našem hardveru postaju commitovi na vašoj grani
  • Izmjene (commits) na vašoj grani vraćaju se na web-mjesto
  • Sinkronizirajte jedan direktorij — temu, priključak — a ne cijeli korijenski direktorij dokumenata
  • Prema zadanim postavkama isključeno, uključujući i na svakoj već postojećoj web-lokaciji
Datoteka otvorena u uređivaču s istom datotekom prikazanom kao commit u repozitoriju.

Objavite direktorij ili dopustite vlastitom CI-ju da ga izgradi

Dva načina rada, a razlika je u tome gdje se izvodi međuverzija. Oba završavaju na istom mjestu: referenci koju dohvaćamo i objavljujemo, pri čemu je commit zabilježen uz implementaciju.

  • Način objavljivanja preuzima vaš ogranak takav kakav jest i objavljuje direktorij koji navedete — prazno polje znači korijenski direktorij repozitorija.
  • Način rada CI pokreće Vašu naredbu za izgradnju u vlastitom cjevovodu Vašeg pružatelja usluga i predaje izlaz u zasebnu granu za objavljivanje, koju dohvaćamo kao i svaku drugu referencu.
  • Grana iz koje se objava objavljuje uvijek se izričito imenuje, nikada „zadana grana” — zadana se vrijednost može promijeniti bez vašeg znanja, a povijest koja ne može reći koju je granu objavila nije povijest.
  • Automatsko uvođenje uključeno je prema zadanim postavkama i može se isključiti bez uklanjanja webhooka, tako da možete pratiti pristizanje isporuka prije nego što im dopustite djelovanje.
  • Svako postavljanje bilježi svoj commit, svoj ishod i svoje vrijeme te se izvodi u pozadini — stranica se ažurira po dovršetku međuverzije.
  • Prekidanjem veze uklanja se točno onaj webhook koji smo izradili, prema njegovu id-u, i ništa drugo u vašem repozitoriju.

Od repozitorija do aktivne stranice

  1. Povežite račun

    GitHub ili GitLab, pod Veze. Povlastice su navedene prije nego što izradite token i on se provjerava kod pružatelja usluge prije spremanja.

  2. Usmjerite web-mjesto na repozitorij

    Vlasnik, repozitorij, grana i objavljujemo li direktorij ili dohvaćamo ono što je izgradio vaš CI. U sklopu toga registriramo push webhook.

  3. Gurnite ili pritisnite gumb

    Slanje (push) na određeni ogranak pokreće implementaciju, ili možete implementirati na zahtjev s kartice Implementacija na web-mjestu. Izrade se izvode u pozadini.

  4. Pogledajte i ponovno sinkronizirajte ako želite

    Povijest implementacije prikazuje što je objavljeno i kada. Uključite dvosmjernu sinkronizaciju i izmjene koje ovdje napravite vratit će se kao commitovi u vašu granu.

Kada nešto pođe po zlu

„Povezano, ali nikada isporučeno” stanje je o kojem ćemo vas doista obavijestiti

Veza s repozitorijem koja izgleda ispravno, a ne prima ništa, klasični je tihi kvar — token s pogrešnim opsegom, isporuka blokirana kod pružatelja usluge, kuka (hook) koju je netko ručno uklonio. To je nevidljivo na svakom drugom zaslonu, pa to kartica repozitorija izravno prikazuje: kada nam je pružatelj usluge zadnji put isporučio podatke i što je naveo.

Isporuke se provjeravaju potpisom prije nego što po njima postupimo, koristeći vlastitu shemu svakog pružatelja usluga umjesto one za koju smo pretpostavili da se primjenjuje na sve. Isporuka koja se ne verificira biva odbijena i zabilježena, a ne tiho zanemarena.

  • Vrijeme i poruka zadnje isporuke, na kartici
  • Navedeno je „Nikada isporučeno”, nije ostavljeno prazno
  • Potpis je verificiran po pružatelju usluga prije pokretanja bilo čega
  • Kuka koju smo stvorili uklanja se prema identifikatoru kada prekinete vezu
Isporuka webhooka stiže i provjerava se prije nego što išta pokrene.

Identitet

Prijavite se putem GitHub ili GitLab — ili Google, ili Microsoft

Uz adresu e-pošte i lozinku, u svoj Zinn Digital® račun možete se prijaviti putem servisa GitHub, GitLab, Google ili Microsoft. Sloj identiteta izvršava usklađivanje (handshake); nikada ne vidimo lozinku vašeg pružatelja usluga, a povezivanje računa društvene mreže s postojećim Zinn® računom i dalje se mora potvrditi e-poštom.

Prijava putem usluge GitHub i povezivanje usluge GitHub za implementacije zasebne su odluke i zasebne vjerodajnice. Izvršavanje jednog ne utječe na drugo, a uklanjanje jednog ne uklanja drugo.

  • Prijava putem servisa GitHub, GitLab, Google i Microsoft
  • Pristupni ključevi i dvofaktorska provjera autentičnosti na istom računu
  • Vjerodajnice za prijavu i implementaciju ostaju odvojene
Delegirani pristup za vaš tim
Više osoba koje se prijavljuju na jedan račun putem različitih pružatelja usluga.

Često postavljana pitanja

Koje pružatelje usluga kontrole izvornog koda mogu povezati?

GitHub i GitLab. Povežite račun na kojem već radite i moći ćemo implementirati iz njegovih repozitorija, registrirati push webhook na njima i — ako to želite — sinkronizirati datoteke vaše web-stranice u obrnutom smjeru. Oboje prolazi kroz isto sučelje povezanog računa, stoga sve u nastavku vrijedi za oboje.

Mogu li se prijaviti putem GitHub-a ili GitLab-a?

Da, i putem usluga Google ili Microsoft. Uz adresu e-pošte i lozinku, u svoj Zinn Digital® račun možete se prijaviti bilo kojom od te četiri mogućnosti. Identitetski sloj upravlja uspostavom veze i mi nikada ne vidimo lozinku vašeg pružatelja usluga. Prijava putem usluge GitHub odvojena je od povezivanja usluge GitHub za implementacije — možete odabrati jedno, oboje ili nijedno.

Gdje mogu implementirati repozitorij?

Na Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps ili AWS Amplify za statičku ili izgrađenu web-lokaciju — ili na naš vlastiti upravljani hosting, gdje repozitorij i datoteke web-lokacije ostaju usklađeni u oba smjera. Vi birate odredište za web-lokaciju; povezivanje s repozitorijem jednako je u oba slučaja.

Možete li izraditi moju web-stranicu ili ona mora biti unaprijed izrađena?

Bilo koje. U načinu objave preuzimamo granu onakvu kakva jest i objavljujemo direktorij koji navedete. U načinu CI vlastiti cjevovod Vašeg pružatelja usluga pokreće Vašu naredbu za izgradnju i predaje izlaz u zasebnu granu za objavu, koju zatim dohvaćamo kao i svaku drugu referencu. Drugi način zadržava Vašu izgradnju u Vašem vlastitom CI-ju, gdje se već nalaze Vaše tajne i predmemoriranje.

Primjenjuje li se push automatski?

Prema zadanim postavkama, da — registriramo webhook u repozitoriju i slanje (push) na granu koju ste odredili pokreće implementaciju. To možete isključiti i zadržati webhook, što je korisnije nego što zvuči: isporuka se i dalje bilježi, tako da možete pratiti dolazak svojih slanja prije nego što nam dopustite da na njih reagiramo.

Što je dvosmjerna sinkronizacija?

Izmjene napravljene na našem hardveru postaju commitovi na vašoj grani, a commitovi na vašoj grani vraćaju se na web-mjesto. Značajka je isključena sve dok je ne uključite, jer je njezino uključivanje odluka o tuđem repozitoriju, a mi je nećemo donijeti umjesto vas. Vi birate koji se direktorij sinkronizira — obično tema ili priključak, a ne četrdeset tisuća osnovnih datoteka sustava WordPress.

Što se događa ako su se obje strane promijenile?

Ništa se ne prepisuje i ništa se ne šalje. Sinkronizacija se zaustavlja, obavještava vas da se grana pomaknula dalje od predaje na kojoj smo se temeljili i pita koju stranu želite — zadržati repozitorij ili zadržati web-mjesto. Web-mjesto koje se nikada nije sinkroniziralo i pokazuje na granu koja već ima predaje također je stanje za sebe, te pita umjesto da nagađa što je točno.

Kako je zaštićen moj pristupni token?

Prikazujemo vam ovlasti koje veza zahtijeva prije nego što je stvorite, provjeravamo token prema vlastitom API-ju pružatelja usluge pri unosu — tako da se nevažeći token ili token s pogrešnim opsegom uopće ne pohranjuje — i tek ga tada zapisujemo u Vault. Nikada ne dolazi u doticaj s našim kodom, zapisnikom, datotekom okruženja ili naredbenim retkom. Opozovite ga kod pružatelja usluge ili uklonite vezu ovdje, kad god želite.

Kako mogu znati primate li doista moja slanja (pusheve)?

Kartica repozitorija prikazuje kada nam je pružatelj usluge posljednji put isporučio podatke i što je naveo. „Nikada nije isporučeno” najkorisniji je dijagnostički podatak na tom zaslonu, jer status „povezano, ali nikada isporučeno” točno odgovara tokenu s pogrešno definiranim opsegom ili blokiranoj isporuci — a to se nigdje drugdje ne vidi. Svaka se isporuka provjerava na temelju potpisa prije nego što poduzmemo radnju.

Mogu li koristiti implementaciju Pages na liniji Footprint-Free?

Ponuđeno je i označeno. GitHub Pages i GitLab Pages dijele infrastrukturu pružatelja usluga i javne nazive hostova github.io i gitlab.io, a to predstavlja trag za tražilice — upravo ono što ova linija želi izbjeći. Za mrežu bez tragova, umjesto toga implementirajte na izolirani hosting. Svugdje drugdje, Pages je vrhunski.

Zašto moram izričito odabrati Vercel?

Zato što je njegova besplatna razina licencirana samo za nekomercijalnu upotrebu. Odredište izvodimo iz računa koje ste povezali tamo gdje je to sigurno, a Vercel je namjerno isključen iz tog izvođenja — povezivanje računa nikada ne smije tiho smjestiti komercijalno web-mjesto negdje gdje to njegova licenca ne dopušta. Odaberite ga i radit će točno kao i ostali.

Mogu li vidjeti što je implementirano i kada?

Da. Svako postavljanje bilježi commit koji je objavilo, kada se izvodilo i kako je završilo, a kartica Postavljanje web-mjesta prikazuje povijest s aktivnim URL-om pokraj nje. Postavljanja se izvode u pozadini, pa se stranica ažurira kako se međuverzija dovršava umjesto da Vas tjera da čekate indikator učitavanja.

Postavite iz svog repozitorija

Započnite 14-dnevno probno razdoblje bez kartice, povežite GitHub ili GitLab i usmjerite web-mjesto na granu. Objavite na rubnom poslužitelju ili na našem vlastitom hostingu uz dvosmjernu sinkronizaciju datoteka.

Započnite besplatno