Vi ste ovdje: start » hr » Interna dokumentacija » DokuWiki proširenja (WvdS) » ADO-Git » Kako klonirati montirani repozitorij

Kako klonirati montirani repozitorij

Okolnost

Repozitorij je vidljiv u wikiju, ali s njim treba raditi lokalno — clone, pull i push iz uobičajenog git klijenta, bez vlastite licencije za Azure DevOps.

Pregled rješenja

Dodatak donosi git posrednik na vlastitoj adresi, odvojenoj od doku.php. Git klijent razgovara s wikijem, a wiki preko servisnog računa s Azure DevOpsom. Prijava teče protokolom HTTP Basic s osobnim tokenom, nikad lozinkom wikija. O pristupu odlučuje ista razina montiranja kao i u pregledniku.

Radnja Potrebna razina Napomena
clone, fetch i pull 2 kod razine public dovoljan je anoniman klijent; kod library i readonly samo prijavljen; kod showcase nitko
push 4 nikad anonimno; kod razina od 4 do 7 samo u vlastiti prefiks grana
push u bilo koju granu 8 među priloženim razinama to doseže grupa @wvdse, a kod razine team grupa maintainers projekta
preuzimanje arhive ZIP 2 gumb na ploči Kako doći do ovog repozitorija

showcase namjerno ne daje pravo preuzimanja: izvorni kod čita se u pregledniku, kopiju ne uzima nitko. Tko je treba, traži library ili višu razinu.

Izvedba

Adresa za clone

Adresa nastaje iz imenskog prostora montiranja tako da dvotočke postanu kose crte:

https://www.wvds.it/wiki/lib/plugins/wkdoadogit/git.php/code/dokuwiki-plugins/wkdoadogit

Ta adresa naslovljuje montiranje code:dokuwiki-plugins:wkdoadogit. Ne morate je sastavljati ručno jer je pokazuju dva mjesta:

  • Ploča Kako doći do ovog repozitorija iznad stabla na stranici s preglednikom. Vidi je svatko s razinom 2 ili više. Uz adresu nudi preuzimanje arhive ZIP te poveznice za otvaranje u uređivačima Visual Studio Code i JetBrains.
  • Popis montiranja u administraciji, u izborniku retka montiranja. Vide ga samo administratori.

Montiranje registrirano s rezerviranom riječi {lang} ima jednu adresu po jeziku. Sam uzorak nije adresa i poslužitelj bi ga odbio.

Osobni token

  1. Otvorite /doku.php?do=wkdoadogit_tokens. Onamo vode i poveznica na dnu ploče Kako doći do ovog repozitorija, izbornik retka montiranja te unos Upravljajte git pristupnim tokenima u naredbenoj paleti.
  2. Unesite oznaku, primjerice prijenosnik ili CI, pa odaberite Stvori.
  3. Prikazani token kopirajte odmah. Pojavljuje se točno jednom jer se sprema samo njegova raspršena vrijednost; poslije ga nije moguće dozvati ni administratoru.
  4. Tokene koji vam više ne trebaju uklonite gumbom Opozovi u istoj tablici.

Svaki izdani token počinje prefiksom wkg_, pa ga skener tajni ili filtar dnevnika prepoznaje na prvi pogled.

Kad je instaliran dodatak wkidentity, za izdavanje tokena potrebna je sjednica dokazana barem uobičajenom prijavom; instalacija zahtjev može podići na drugi faktor. Već izdani tokeni pri pooštravanju pravila ostaju valjani, pa ih nakon promjene izdajte ponovno.

Poziv klijenta

git clone https://www.wvds.it/wiki/lib/plugins/wkdoadogit/git.php/code/dokuwiki-plugins/wkdoadogit

Na upit za prijavu unesite svoje korisničko ime u wikiju, a kao lozinku osobni token. Klijent prihvaća i token kao korisničko ime s praznom lozinkom.

Za trajnu pohranu poslužite se pomoćnikom za vjerodajnice svog klijenta. Token nemojte upisivati u adresu u datoteci .git/config.

Push u vlastiti prefiks

Tko ima razinu od 4 do 7, smije pomicati samo grane ispod vlastitog prefiksa refs/heads/users/<prijava>/.

git push origin HEAD:refs/heads/users/ihorvat/ispravak

Naredbu koja bi dotaknula išta izvan tog prefiksa poslužitelj odbija u cijelosti. Kod razine 8 tog ograničenja nema.

Preuzimanje arhive ZIP

Gumb Preuzmi kao ZIP na ploči Kako doći do ovog repozitorija preuzima snimku prikazane grane. Adresa glasi /doku.php?do=wkdoadogit_archive&ns=<imenski-prostor>&ref=<grana> i traži istu razinu 2 kao i clone.

Napomene

  • Prema Azure DevOpsu nastupa servisni račun. Vrijednost pushedBy ondje je zato servisni račun, a autor commita ostaje osoba koja ga je napravila.
  • Oduzimanje prava vrijedi od sljedećeg zahtjeva. Prava se ne spremaju u predmemoriju. Ustraje li pristup, tražite predmemoriju stranica ili dodijeljenu grupu, a ne posrednika.
  • Posrednik ne poznaje podizanje prijave. Radi bez sjednice i prijavljuje se pri svakom zahtjevu tokenom, pa se drugi faktor traži pri izdavanju tokena, a ne pri svakom zahtjevu.
  • Poslužitelj mora dopustiti PATH_INFO. Na poslužitelju Apache to uređuje priložena datoteka .htaccess s retkom AcceptPathInfo On za git.php. Priložena datoteka web.config vrijedi samo za IIS. Bez toga poslužitelj vraća pogrešku 404 prije nego što se PHP uopće pokrene.
  • Sažimanje na putu kvari packfile. Za put posrednika nemojte uključivati sažimanje gzip.

Povezane teme

hr/wiki/dwe/wkdoadogit/howto-clone.txt · Zadnja izmjena: od 0.0.0.0