Prvi prikaz repozitorija ADO v wikiju
Vodnik pelje en repozitorij Azure DevOps od nič do vidne datoteke na strani wikija. Sedem razdelkov sledi vrstnemu redu, po katerem delate; zadnji je neobvezen.
Vrednosti v primerih so iz te namestitve. Zamenjajte jih s svojimi.
| Kaj | Vrednost v tem primeru |
|---|---|
| ključ projekta DWDO | dwplugins |
| imenski prostor projekta | sl:projects:dwplugins |
| ključ povezave | wvds |
| osnovni naslov strežnika ADO | https://devops.wvds.it/Me |
| projekt v Azure DevOpsu | DokuWiki-Plugins |
| repozitorij | wkdoadogit |
| imenski prostor priklopa | code:dokuwiki-plugins:wkdoadogit |
Predpogoji
- Za povezavo potrebujete vlogo
managev projektu DWDO. Seznam povezav sme videti tudi bralec, ustvariti pa je ne more. - Za priklop potrebujete pravice nadskrbnika, saj priklop zapiše pravice za celotno mesto.
- Nameščeni in vklopljeni morajo biti vtičniki
wkcore,wkdocore,wkdostorage,wkdoadoinwkdoadogit. Brezwksourceviewse datoteke ne odprejo v predalu. - Projekt DWDO mora obstajati dvakrat: kot imenski prostor pod korenom projektov (v tej namestitvi
{lang}:projects:) in kot zapis v shrambi DWDO. Brez zapisa se povezava ne shrani. - V nastavitvah vtičnika
wkdoadomora biti ime strežnika ADO vpisano vado_host_allow. Prazen seznam zavrne vsak klic. - Skrivnost (PAT) mora ležati zunaj baze, kot sklic
vault:,file:,env:alienc:. - Na strežniku mora biti na voljo razširitev PHP
curl. Brez nje se brskalnik ne naloži in posrednik git odpove.
conf/acl.auth.php. Priklop vanjo piše.
Povezava z Azure DevOpsom
Povezava opisuje strežnik ADO in pripada enemu projektu DWDO. Ne nastavlja se v skrbništvu, ampak na strani projekta.
- Odprite poljubno stran projekta in ji dodajte dejanje
do=wkdoado, na primer/doku.php?id=sl:projects:dwplugins:start&do=wkdoado. Isti zaslon odpre ukazna paleta z vnosom Upravljajte povezave ADO. - Če je povezava že na seznamu, si zapišite njen ključ in nadaljujte z naslednjim razdelkom.
- Izpolnite obrazec za novo povezavo: Ključ (
wvds; dovoljeni znaki[A-Za-z0-9_-], največ 64), Naslov, Namestitev (servicesza storitevdev.azure.comaliserverza lastno namestitev), Osnovni URL, po potrebi Organizacija (services) in Collection (server) ter Različica API (privzeto7.0). - Izberite Dodaj.
- V vrstici povezave izberite način skrivnosti (
vault:,file:,env:alienc:), vnesite vrednost in shranite. Pri načinuvault:je vrednost oznaka vnosa v vtičnikuwkvault, v tej namestitviadogit-service-pat. - Izberite Preizkusi in počakajte na izid. Preizkus loči štiri vzroke: prepovedan strežnik, nedosegljiv cilj, napako potrdila in napako prijave.
Nadaljujte šele, ko preizkus uspe.
server je zbirka že del osnovnega naslova (https://devops.wvds.it/Me). Če izpolnite še polje Collection (server), se zbirka pripne drugič in vsak klic REST se konča z napako HTTP 404. Zbirko navedite samo na enem mestu.
Priklop repozitorija
Priklop veže repozitorij na imenski prostor wikija in zanj zapiše pravice.
- Odprite Skrbništvo > Priklopi repozitorijev ADO-Git, neposredno
/doku.php?do=admin&page=wkdoadogit_mounts. - Razprite Registriraj priklop.
- Na zaslonu 1. Povezava izberite povezavo. Na seznamu je zapisana kot
projekt / ključ, na primerdwplugins / wvds. Izberite Naprej. - Na zaslonu 2. Projekt ADO izberite projekt, na primer
DokuWiki-Plugins. Seznam prebere povezava; kadar strežnik ne odgovori, zaslon to pove in ponudi prosto polje. - Na zaslonu 3. Repozitoriji označite enega ali več repozitorijev, na primer
wkdoadogit. Po potrebi prilagodite polje Predloga imenskega prostora in izberite raven vidnosti, nato izberite Predogled. - Preberite zaslon 4. Predogled. Pokaže, kaj raven podeli, kateri imenski prostor bo nastal in vsako vrstico pravic, ki bo zapisana. Opozori tudi, če imenski prostor že nosi strani wikija.
- Izberite Registriraj.
Najprej se zapiše priklop, nato pravice. Če zapis pravic ne uspe, vas zaslon o tem obvesti; tihega vmesnega stanja ni.
Predloga imenskega prostora je privzeto code:{project}:{repo}. Nadomestka {project} in {repo} se zamenjata z imenoma iz Azure DevOpsa, morebitni {lang} pa ostane in se razširi po jezikih šele ob zapisu pravic.
Raven vidnosti
Raven je edino mesto, kjer se ureja vidnost. Pravice se preberejo ob vsaki zahtevi, zato sprememba ravni učinkuje takoj.
| Raven | Kdo koliko dobi | Kaj to pomeni |
|---|---|---|
private | @ALL 0, @wvdse 8 | vidijo samo uredniki in skrbniki |
readonly | @ALL 0, @user 2, @wvds 2, @wvdse 8 | prijavljeni berejo in klonirajo, anonimni ne vidijo ničesar |
public | @ALL 2, @wvdse 8 | bere in klonira lahko vsakdo |
team | @ALL 0, skupine vlog projekta (readers 1, contributors 2, maintainers 8), @wvdse 8 | vidi samo ekipa tega projekta |
Kaj posamezna številka pomeni v wikiju in kaj v tem vtičniku, pojasnjuje tehnična referenca.
public podeli skupini @ALL stopnjo 2. Isto številko DokuWiki bere kot pravico do urejanja obstoječe strani. Na praznem imenskem prostoru to ni pomembno, na imenskem prostoru s stranmi wikija pa odpre urejevalnik vsem obiskovalcem.
Pravice ležijo v upravljanem bloku datoteke conf/acl.auth.php, med vrsticama # BEGIN wkdoadogit-managed in # END wkdoadogit-managed. Tega bloka ne urejajte ročno – namesto tega nastavite raven priklopa.
Imenski prostor priklopa
Po registraciji je repozitorij na seznamu priklopov, skupaj s svojim imenskim prostorom:
code:dokuwiki-plugins:wkdoadogit
Stolpec Pravila pove, ali se zapisane pravice ujemajo z ravnjo (written), manjkajo (NOT written) ali se razhajajo. Pri ravni public nastanejo v datoteki conf/acl.auth.php štiri vrstice:
# 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, boste videli prazno stran. To ni napaka – repozitorij pokaže šele naslednji razdelek.
Stran z brskalnikom repozitorija
Repozitorij se izriše tam, kjer avtor postavi vgradno oznako. Ta deluje samo na strani znotraj projekta DWDO, ker brskalnik poišče povezavo prek projekta te strani.
- Odprite stran repos svojega projekta v urejevalniku:
/doku.php?id=sl:projects:dwplugins:repos&do=edit. - Vstavite oznako
{{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit}}. - Shranite stran.
Zdaj se izrišeta glava z imenom repozitorija, značko ravni in imenom veje ter drevo korenske mape.
Zapis oznake je {{wk:adogit>povezava:projekt:repozitorij[:veja[:pot]]}}:
| Del | Pomen | Če ga izpustite |
|---|---|---|
povezava | ključ povezave (wvds), ne njena številka | je obvezen |
projekt | ime projekta v Azure DevOpsu | je obvezen |
repozitorij | ime repozitorija | je obvezen |
veja | veja, oznaka tag ali commit | velja privzeta veja repozitorija |
pot | mapa, iz katere izhaja drevo | velja koren repozitorija |
Če želite brskalnik postaviti v stransko območje lupine, oznaki dodajte region=toc: {{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit region=toc}}.
Zavihka Branches in Tags v glavi sta vidna, vendar nedejavna. Prikazano vejo izberete v oznaki, ne v vmesniku.
Odpiranje mape in datoteke
Mapo v drevesu odprite tako, da jo izberete. Vsebina se naloži šele ob odprtju in pravica se pri tem preveri znova, zato drevo nikoli ne pride iz skupnega predpomnilnika strani.
Mapo lahko določite tudi vnaprej, s petim delom oznake:
{{wk:adogit>wvds:DokuWiki-Plugins:wkdoadogit:main:/Domain}}
Datoteko odprite tako, da jo izberete. Odpre se predal vtičnika wksourceview in datoteka se izriše z barvno označeno sintakso. Brez tega vtičnika predala ni, drevo pa ostane.
Kdor ima pravico pisanja, ima ob vsaki datoteki še gumb za urejanje, v glavi pa gumb Nova veja/oznaka. Postopek opisuje urejanje datoteke in commit iz wikija.
Nad drevesom je zložljiva plošča Kako dobiti ta repozitorij z naslovom za clone, prenosom arhiva ZIP in povezavo do osebnih žetonov. Pokaže se samo tistim, ki imajo raven vsaj 2; glejte kloniranje repozitorija.
Vgradnja izvorne kode
Ta razdelek je neobvezen. Posamezno datoteko lahko izrišete tudi neposredno na strani, brez brskalnika:
{{source>ado:wvds:DokuWiki-Plugins:wkdoadogit:main:/Domain/MountAclGate.php#L141-L146}}
Razliko med obema oznakama, nastavitve izrisa in meje opisuje prikaz izvorne kode na strani wikija.
Pričakovani rezultat
- Stran
sl:projects:dwplugins:reposprikaže glavo repozitorijawkdoadogitz značko ravni in imenom veje. - Mape se odpirajo, datoteke se odprejo v predalu z izvorno kodo.
- Bralec brez pravice branja na imenskem prostoru
code:dokuwiki-plugins:wkdoadogitna isti strani ne vidi ne drevesa ne imena repozitorija, temveč samo kartico s stanjem. - V datoteki
conf/acl.auth.phpso znotraj upravljanega bloka štiri vrstice tega priklopa.
Kdaj osebni žeton ni potreben
Osebni žeton je namenjen odjemalcem git, ne wikiju. Znotraj wikija ni potreben nikoli.
| Dejanje | Osebni žeton | Kaj velja namesto tega |
|---|---|---|
| brskanje po drevesu | ne | pravica branja (raven 1 ali več) na imenskem prostoru priklopa |
odpiranje datoteke in vgradnja z {{source>ado:…}} | ne | ista pravica branja |
| urejanje in commit iz wikija | ne | pravica pisanja (raven 8) na imenskem prostoru priklopa |
| prenos arhiva ZIP | ne | raven 2 ali več |
git clone ali git pull zunaj wikija | da | raven 2 ali več in veljaven žeton |
git push zunaj wikija | da | raven 4 ali več in veljaven žeton |
Pri Azure DevOpsu se v vseh primerih prijavi storitveni račun. Osebni žeton pove samo, kdo v wikiju sprašuje.
Kaj storiti, če kaj ne deluje
| Kar vidite | Najverjetnejši vzrok |
|---|---|
| »Ta repozitorij ni povezan s tem wikijem.« | oznaka navaja napačen ključ povezave, napačno ime projekta ali repozitorija, ali pa priklop ni registriran |
| »Za ta repozitorij nimate pravice branja.« | priklop obstaja, raven pa vas ne zajema |
| »Storitev virov ADO ni na voljo.« | povezava, seznam dovoljenih strežnikov, skrivnost ali manjkajoča razširitev curl |
| »Repozitorija ni bilo mogoče naložiti.« | oznake ni bilo mogoče razčleniti ali pa navedena veja ne obstaja |
| stran prikaže golo besedilo oznake | stran leži zunaj korena projektov ali vtičnik ni vklopljen |
Podrobna diagnostika s postopki je v diagnostiki.
Naslednji koraki
- Kako prikazati izvorno kodo na strani wikija – prikaz izvorne kode na strani wikija
- Kako urediti datoteko in narediti commit iz wikija – urejanje datoteke in commit iz wikija
- Koncepti – raven vidnosti, pravice in meje