Trenutno dejavna stran: start » sl » Interna dokumentacija » Razširitve DokuWikija (WvdS) » ADO-Git » Kako klonirati priklopljen repozitorij

Kako klonirati priklopljen repozitorij

Okoliščina

Repozitorij je viden v wikiju, delati pa je treba z njim lokalno – clone, pull in push iz običajnega odjemalca git, brez svoje licence za Azure DevOps.

Pregled rešitve

Vtičnik prinaša posrednik git na svojem naslovu, ločenem od doku.php. Odjemalec git se pogovarja z wikijem, wiki pa z Azure DevOpsom prek storitvenega računa. Prijava poteka po protokolu HTTP Basic z osebnim žetonom, nikoli z geslom wikija. O dostopu odloča ista raven priklopa kot v brskalniku.

Dejanje Potrebna raven Opomba
clone, fetch in pull 2 pri ravni public zadošča anonimen odjemalec; pri library in readonly le prijavljen; pri showcase nihče
push 4 nikoli anonimno; pri ravni 4 do 7 samo v lastno predpono vej
push v poljubno vejo 8 pri priloženih ravneh to doseže skupina @wvdse, pri ravni team pa skupina maintainers projekta
prenos arhiva ZIP 2 gumb na plošči Kako dobiti ta repozitorij

showcase namenoma ne podeli pravice do prevzema: izvorna koda se bere v brskalniku, kopije ne vzame nihče. Kdor jo potrebuje, zaprosi za library ali višjo raven.

Izvedba

Naslov za clone

Naslov nastane iz imenskega prostora priklopa tako, da dvopičja postanejo poševnice:

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

Ta naslov naslavlja priklop code:dokuwiki-plugins:wkdoadogit. Ni ga treba sestavljati ročno, saj ga prikažeta dve mesti:

  • Plošča Kako dobiti ta repozitorij nad drevesom na strani z brskalnikom. Vidi jo vsakdo z ravnjo vsaj 2. Poleg naslova ponuja prenos arhiva ZIP ter povezavi za odprtje v urejevalnikih Visual Studio Code in JetBrains.
  • Seznam priklopov v skrbništvu, v meniju vrstice priklopa. Vidijo ga samo nadskrbniki.

Priklop, registriran z nadomestkom {lang}, ima en naslov na jezik. Vzorec sam ni naslov in bi ga strežnik zavrnil.

Osebni žeton

  1. Odprite /doku.php?do=wkdoadogit_tokens. Do te strani vodijo tudi povezava na dnu plošče Kako dobiti ta repozitorij, meni vrstice priklopa in vnos Upravljajte dostopne žetone git v ukazni paleti.
  2. Vnesite oznako, na primer prenosnik ali CI, in izberite Ustvari.
  3. Kopirajte prikazani žeton takoj. Prikaže se natanko enkrat, saj se shrani samo njegova zgoščena vrednost; pozneje ga ni mogoče priklicati niti skrbniku.
  4. Nepotrebne žetone odstranite z gumbom Prekliči v isti preglednici.

Vsak izdan žeton se začne s predpono wkg_, tako da ga pregledovalnik skrivnosti ali filter dnevnika prepozna na pogled.

Če je nameščen vtičnik wkidentity, je za izdajo žetona potrebna seja, dokazana vsaj z običajno prijavo; namestitev lahko zahtevo dvigne na drugi dejavnik. Že izdani žetoni ob poostritvi pravila ostanejo veljavni, zato jih po spremembi izdajte znova.

Klic odjemalca

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

Ob vprašanju za prijavo vnesite svoje uporabniško ime v wikiju, kot geslo pa osebni žeton. Odjemalec sprejme tudi žeton kot uporabniško ime s praznim geslom.

Za trajno shranjevanje uporabite pomočnika za poverilnice svojega odjemalca. Žetona ne zapisujte v naslov v datoteki .git/config.

Push v lastno predpono

Kdor ima raven od 4 do 7, sme premikati samo veje pod svojo predpono refs/heads/users/<prijavno-ime>/.

git push origin HEAD:refs/heads/users/janez/popravek

Ukaz, ki bi se dotaknil česa zunaj te predpone, strežnik zavrne v celoti. Pri ravni 8 te omejitve ni.

Prenos arhiva ZIP

Gumb Prenesi kot ZIP na plošči Kako dobiti ta repozitorij prenese posnetek prikazane veje. Naslov je /doku.php?do=wkdoadogit_archive&ns=<imenski-prostor>&ref=<veja> in zahteva isto raven 2 kot clone.

Opombe

  • Pri Azure DevOpsu nastopa storitveni račun. Vrednost pushedBy je zato storitveni račun, avtor commita pa ostane oseba, ki ga je naredila.
  • Odvzem pravice velja od naslednje zahteve. Pravice se ne predpomnijo. Če dostop vztraja, iščite predpomnilnik strani ali podeljeno skupino, ne posrednika.
  • Posrednik ne pozna dviga prijave. Deluje brez seje in se prijavlja pri vsaki zahtevi z žetonom, zato se drugi dejavnik zahteva ob izdaji žetona, ne ob vsaki zahtevi.
  • Strežnik mora dovoliti PATH_INFO. Na strežniku Apache to uredi priložena datoteka .htaccess z vrstico AcceptPathInfo On za git.php. Priložena datoteka web.config velja samo za IIS. Brez tega strežnik vrne napako 404, še preden se PHP sploh zažene.
  • Stiskanje na poti pokvari packfile. Za pot posrednika ne vklapljajte stiskanja gzip.

Sorodne teme

sl/wiki/dwe/wkdoadogit/howto-clone.txt · Zadnja sprememba: uporabnika 0.0.0.0