Prvi prikaz ADO repozitorija u wikiju
Vodič vodi jedan repozitorij iz Azure DevOpsa od nule do vidljive datoteke na wiki stranici. Sedam odjeljaka slijedi redoslijed kojim radite; posljednji je neobvezan.
Vrijednosti u primjerima potječu iz ove instalacije. Zamijenite ih svojima.
| Što | Vrijednost u ovom primjeru |
|---|---|
| ključ DWDO projekta | dwplugins |
| imenski prostor projekta | hr:projects:dwplugins |
| ključ veze | wvds |
| osnovna adresa ADO poslužitelja | https://devops.wvds.it/Me |
| projekt u Azure DevOpsu | DokuWiki-Plugins |
| repozitorij | wkdoadogit |
| imenski prostor montiranja | code:dokuwiki-plugins:wkdoadogit |
Preduvjeti
- Za vezu trebate ulogu
manageu DWDO projektu. Popis veza smije vidjeti i čitatelj, ali je ne može stvoriti. - Za montiranje trebate administratorska prava jer montiranje zapisuje prava za cijelo mjesto.
- Instalirani i uključeni moraju biti dodaci
wkcore,wkdocore,wkdostorage,wkdoadoiwkdoadogit. Bez dodatkawksourceviewdatoteke se ne otvaraju u ladici. - DWDO projekt mora postojati dvaput: kao imenski prostor ispod korijena projekata (ovdje
{lang}:projects:) i kao zapis u DWDO pohrani. Bez tog zapisa vezu nije moguće spremiti. - U postavkama dodatka
wkdoadoime ADO poslužitelja mora stajati uado_host_allow. Prazan popis odbija svaki poziv. - Tajna (PAT) mora ležati izvan baze, kao uputa
vault:,file:,env:ilienc:. - Na poslužitelju mora biti dostupno PHP proširenje
curl. Bez njega se preglednik ne učitava, a git posrednik prekida rad.
conf/acl.auth.php: montiranje u nju zapisuje. Ovaj wiki dopušta * @ALL 1 za cijelo mjesto, pa je montiranje zaštićeno tek kad njegova razina zapiše pravila — private postavlja @ALL 0.
Veza s Azure DevOpsom
Veza opisuje ADO poslužitelj i pripada točno jednom DWDO projektu. Ne postavlja se u administraciji, nego na stranici projekta.
- Otvorite bilo koju stranicu projekta i dodajte joj radnju
do=wkdoado, na primjer/doku.php?id=hr:projects:dwplugins:start&do=wkdoado. Isti zaslon otvara naredbena paleta unosom Upravljajte ADO vezama. - Ako je veza već na popisu, zabilježite njezin ključ i prijeđite na sljedeći odjeljak.
- Ispunite obrazac za novu vezu: Ključ (
wvds; dopušteni znakovi[A-Za-z0-9_-], najviše 64), Naslov, Postava (servicesza uslugudev.azure.comiliserverza vlastitu instalaciju), Osnovni URL, po potrebi Organizacija (services) i Collection (server) te Verzija API-ja (zadano7.0). - Odaberite Dodaj.
- U retku veze odaberite način tajne (
vault:,file:,env:ilienc:), unesite vrijednost i spremite. Kod načinavault:vrijednost je oznaka unosa u dodatkuwkvault, u ovoj instalacijiadogit-service-pat. - Odaberite Testiraj i pričekajte ishod. Test razlikuje četiri uzroka: zabranjen poslužitelj, nedostupan cilj, pogrešku certifikata i pogrešku prijave.
Nastavite tek kad test uspije.
server zbirka je već dio osnovne adrese (https://devops.wvds.it/Me). Ispunite li još i polje Collection (server), zbirka se dodaje drugi put i svaki poziv REST završava pogreškom HTTP 404. Zbirku navedite samo na jednom mjestu.
Montiranje repozitorija
Montiranje veže repozitorij uz imenski prostor wikija i zapisuje prava za njega.
- Otvorite Administracija > ADO-Git montiranja repozitorija, izravno
/doku.php?do=admin&page=wkdoadogit_mounts. - Rasklopite Registriraj montiranje.
- Na zaslonu 1. Veza odaberite vezu. Na popisu je zapisana kao
projekt / ključ, na primjerdwplugins / wvds. Odaberite Dalje. - Na zaslonu 2. ADO projekt odaberite projekt, na primjer
DokuWiki-Plugins. Popis čita veza; kad poslužitelj ne odgovori, zaslon to kaže i nudi slobodno polje. - Na zaslonu 3. Repozitoriji označite jedan ili više repozitorija, na primjer
wkdoadogit. Po potrebi prilagodite polje Predložak imenskog prostora, odaberite razinu vidljivosti pa zatim Pregled. - Pročitajte zaslon 4. Pregled. Prikazuje što razina dodjeljuje, koji će imenski prostor nastati i svaki redak prava koji će biti zapisan. Upozorava i ako imenski prostor već nosi wiki stranice.
- Odaberite Registriraj.
Najprije se zapisuje montiranje, a zatim prava. Ne uspije li zapis prava, zaslon vas o tome obavještava; tihog međustanja nema.
Predložak imenskog prostora zadano glasi code:{project}:{repo}. Rezervirane riječi {project} i {repo} zamjenjuju se imenima iz Azure DevOpsa, a eventualni {lang} ostaje i širi se po jezicima tek pri zapisu prava.
Razina vidljivosti
Razina je jedino mjesto na kojem se uređuje vidljivost. Prava se čitaju pri svakom zahtjevu, pa promjena djeluje odmah.
| Razina | Tko koliko dobiva | Što to znači |
|---|---|---|
private | @ALL 0, @wvdse 8 | vide samo urednici i administratori |
readonly | @ALL 0, @user 2, @wvds 2, @wvdse 8 | prijavljeni čitaju i kloniraju, anonimni ne vide ništa |
public | @ALL 2, @wvdse 8 | čita i klonira svatko |
team | @ALL 0, grupe uloga projekta (readers 1, contributors 2, maintainers 8), @wvdse 8 | vidi samo tim tog projekta |
Što pojedini broj znači u wikiju, a što u ovom dodatku, objašnjava tehnička referenca.
public dodjeljuje grupi @ALL stupanj 2. Isti broj DokuWiki čita kao pravo uređivanja postojeće stranice. Na praznom imenskom prostoru to nije važno, a na imenskom prostoru s wiki stranicama otvara uređivač svim posjetiteljima.
Prava leže u upravljanom bloku datoteke conf/acl.auth.php, između redaka # BEGIN wkdoadogit-managed i # END wkdoadogit-managed. Taj blok nemojte uređivati ručno – umjesto toga postavite razinu montiranja.
Imenski prostor montiranja
Nakon registracije repozitorij stoji na popisu montiranja sa svojim imenskim prostorom:
code:dokuwiki-plugins:wkdoadogit
Stupac Pravila kazuje podudaraju li se zapisana prava s razinom (written), nedostaju li (NOT written) ili se razilaze. Kod razine public u datoteci conf/acl.auth.php nastaju četiri retka:
# mount: code:dokuwiki-plugins:wkdoadogit (public) code:dokuwiki-plugins:wkdoadogit @ALL 2 code:dokuwiki-plugins:wkdoadogit:* @ALL 2 code:dokuwiki-plugins:wkdoadogit @wvdse 8 code:dokuwiki-plugins:wkdoadogit:* @wvdse 8
/doku.php?id=code:dokuwiki-plugins:wkdoadogit, vidjet ćete praznu stranicu. To nije pogreška – repozitorij prikazuje tek sljedeći odjeljak.
Stranica s preglednikom repozitorija
Repozitorij se crta ondje gdje autor postavi oznaku. Ona djeluje samo na stranici unutar DWDO projekta jer preglednik traži vezu preko projekta te stranice.
- Otvorite stranicu repos svog projekta u uređivaču:
/doku.php?id=hr:projects:dwplugins:repos&do=edit. - Umetnite oznaku
{{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit}}. - Spremite stranicu.
Sada se prikazuju zaglavlje s imenom repozitorija, značkom razine i imenom grane te stablo korijenske mape.
Oblik oznake glasi {{wk:adogit>veza:projekt:repozitorij[:grana[:putanja]]}}:
| Polje | Značenje | Ako ga izostavite |
|---|---|---|
veza | ključ veze (wvds), a ne njezin broj | obvezno je |
projekt | ime projekta u Azure DevOpsu | obvezno je |
repozitorij | ime repozitorija | obvezno je |
grana | grana, oznaka tag ili commit | vrijedi zadana grana repozitorija |
putanja | mapa iz koje polazi stablo | vrijedi korijen repozitorija |
Želite li preglednik postaviti u bočno područje ljuske, dodajte region=toc: {{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit region=toc}}.
Kartice Branches i Tags u zaglavlju vidljive su, ali neaktivne. Prikazanu granu birate u oznaci, a ne u sučelju.
Otvaranje mape i datoteke
Mapu u stablu otvarate tako da je odaberete. Sadržaj se učitava tek pri otvaranju i pravo se pritom provjerava iznova, pa stablo nikad ne dolazi iz zajedničke predmemorije stranica.
Mapu možete odrediti i unaprijed, petim poljem oznake:
{{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit:main:/Domain}}
Datoteku otvarate tako da je odaberete. Pojavljuje se ladica dodatka wksourceview i datoteka se crta s isticanjem sintakse. Bez tog dodatka nema ladice, stablo ostaje.
Tko ima pravo pisanja, uz svaku datoteku nalazi i gumb za uređivanje, a u zaglavlju gumb Nova grana/oznaka. Postupak opisuje uređivanje datoteke i commit iz wikija.
Iznad stabla stoji rasklopiva ploča Kako doći do ovog repozitorija s adresom za clone, preuzimanjem arhive ZIP i poveznicom na osobne tokene. Pojavljuje se samo onima s razinom 2 ili više; vidi kloniranje repozitorija.
Ugradnja izvornog koda
Ovaj je odjeljak neobvezan. Pojedinu datoteku možete nacrtati i izravno na stranici, bez preglednika:
{{source>ado:wvds:DokuWiki-Plugins:wkdoadogit:main:/Domain/MountAclGate.php#L141-L146}}
Razliku između obiju oznaka, postavke prikaza i granice opisuje prikaz izvornog koda na wiki stranici.
Očekivani rezultat
- Stranica
hr:projects:dwplugins:reposprikazuje zaglavlje repozitorijawkdoadogitsa značkom razine i imenom grane. - Mape se otvaraju, a datoteke se pojavljuju u ladici s izvornim kodom.
- Čitatelj bez prava čitanja na imenskom prostoru
code:dokuwiki-plugins:wkdoadogitna istoj stranici ne vidi ni stablo ni ime repozitorija, nego samo karticu sa stanjem. - U datoteci
conf/acl.auth.phpunutar upravljanog bloka stoje četiri retka tog montiranja.
Kada osobni token nije potreban
Osobni je token namijenjen git klijentima, a ne wikiju. Unutar wikija nikad nije potreban.
| Radnja | Osobni token | Što vrijedi umjesto toga |
|---|---|---|
| pregledavanje stabla | ne | pravo čitanja (razina 1 ili više) na imenskom prostoru montiranja |
otvaranje datoteke i ugradnja oznakom {{source>ado:…}} | ne | isto pravo čitanja |
| uređivanje i commit iz wikija | ne | pravo pisanja (razina 8) na imenskom prostoru montiranja |
| preuzimanje arhive ZIP | ne | razina 2 ili više |
git clone ili git pull izvan wikija | da | razina 2 ili više i valjan token |
git push izvan wikija | da | razina 4 ili više i valjan token |
Prema Azure DevOpsu se u svim slučajevima prijavljuje servisni račun. Osobni token govori samo tko u wikiju pita.
Ako nešto ne radi
| Što vidite | Najvjerojatniji uzrok |
|---|---|
| „Ovaj repozitorij nije povezan s ovim wikijem.” | oznaka navodi pogrešan ključ veze, pogrešno ime projekta ili repozitorija — ili montiranje nije registrirano |
| „Nemate pravo čitanja ovog repozitorija.” | montiranje postoji, ali vas razina ne obuhvaća |
| „Usluga ADO izvora nije dostupna.” | veza, popis dopuštenih poslužitelja, tajna ili nedostatak proširenja curl |
| „Repozitorij nije bilo moguće učitati.” | oznaku nije bilo moguće raščlaniti ili navedena grana ne postoji |
| stranica prikazuje goli tekst oznake | stranica leži izvan korijena projekata ili dodatak nije uključen |
Podrobna dijagnostika s postupcima nalazi se u Dijagnostici.
Sljedeći koraci
- Kako prikazati izvorni kod na wiki stranici – prikaz izvornog koda na wiki stranici
- Kako urediti datoteku i napraviti commit iz wikija – uređivanje datoteke i commit iz wikija
- Koncepti – razina vidljivosti, prava i granice