Vscode-python
Vscode-python er en tjeneste på Dapla Lab for utvikling av kode i Python1. Målgruppen for tjenesten er brukere som skal skrive produksjonskode i Python.
Siden tjenesten er ment for produksjonskode så er det veldig få forhåndsinstallerte Python-pakker som er installert. Antagelsen er at brukerene/teamet heller bør installere de pakkene de trenger, framfor at alle pakker som alle brukere/team er forhåndsinstallert og skal dekke behovet til alle. Det reduserer kompleksitet i tjenesten og dermed sannsynligheten for feilsituasjoner.
Forberedelser
Før man starter Vscode-python bør man ha lest kapitlet om Dapla Lab og satt opp Git- og GitHub-konfigurasjonen under Min konto. Deretter gjør du følgende:
- Logg deg inn på Dapla Lab
- Under Tjenestekatalog trykker du på Start-knappen for Vscode-python
- Gi tjenesten et navn
- Åpne Vscode-python konfigurasjoner
Konfigurasjon
Før man åpner en tjeneste kan man konfigurere hvor mye ressurser man ønsker, hvilket team man skal representere, om et GitHub-repo skal klones ved oppstart, og mange andre ting. Valgene man gjør kan også lagres slik at man å slipper å gjøre samme jobb senere. ?@fig-dapla-lab-tjenestekonf-detail viser første fane i tjenestekonfigurasjonen for Vscode-python.
Service
I fanen Service kan man velge hvilke PullPolicy som skal gjelde ved oppstart av, samt Version av tjenesten. PullPolicy trenger brukerne sjelden å endre på, mens Version lar brukeren velge hvilken versjon av tjenesten som skal benyttes.
Siden Jupyter-tjenesten kommer installert med både R- og Python så er det her man velger hvilke versjoner av disse man ønsker. Man kan velge mellom alle tidligere tilbudte kombinasjoner av R og Python. I Figur 1 ser vi av navnet vscode-python:-py311
at tjenesten som default vil startes med versjon 3.11 av Python. Etter hvert som nye versjoner av Python kommer kan disse tilgjengeliggjøres i tjenesten, men brukeren kan velge å starte en eldre versjon av tjenesten og Python.
Buckets
Under Buckets kan man velge Enable for å få tilgang til data fra bøtter i tjenesten. I tillegg må man velge hvilket team og tilgangsgruppe man skal representere.
Figur 2 viser at man kan velge blant alle developers-gruppene i alle team man er medlem i. Velger man f.eks. å representere Dapla group teama-developers så kan man få alle standard-bøtter (produkt, frasky, tilsky og egne delt-bøtter) for det teamet. Men man får ikke tilgang til bøtter som man har tilgang til gjennom andre team.
Man kan også spesifisere andre bøtter som skal tilgjengliggjøres i tjenesten teamet og tilgangsgruppen har tilgang til. Typisk vil dette være andre sine delt-bøtter som teamet har fått tilgang til.
Resources
Under fanen Resources kan man velge hvor mye CPU og RAM man ønsker i tjenesten, slik som vist i Figur 3. Velg så lite som trengs for å gjøre jobben du skal gjøre.
Persistence
Som default får alle som starter en instans av Vscode-python-tjenesten en lokal disk på 10GB inne i tjenesten. Under Persistence-fanen kan man velge å øke størrelsen på disken eller ikke noe disk i det hele tatt. Siden lokal disk i tjenesten hovedsakelig skal benyttes til å lagre en lokal kopi av koden som lagres på GitHub mens man gjør endringer, så bør ikke størrelsen på disken være større enn nødvendig.@fig-dapla-lab-resources viser valgene som kan gjøres under Resource-fanen.
Git
Under fanen Git kan man konfigurere Git og GitHub slik at det blir lettere å jobbe med inne i tjenesten. Som default arves informasjonen som er lagret under Min konto-Git i Dapla Lab. Informasjonen under tjenestekonfigurasjonen blir tilgjengeliggjort som miljøvariabler i tjenesten. Informasjonen blir også lagt i $HOME/.netrc
slik at man kan benytte ikke trenger å gjøre noe mer for å jobbe mot GitHub fra tjenesten.
Datatilgang
Hvis man har valgt å tilgjengeliggjøre data fra et team sitt bøtter i tjenesten, så kan man inspisere dataene fra en terminal inne i tjenesten:
- Åpne en instans av Vscode-python med data fra bøtter
- Åpne en terminal inne i Vscode-python
- Gå til mappen med bøttene ved å kjøre dette fra terminalen
cd /buckets
- Kjør
ls -ahl
i teminalen for å se på hvilke bøtter som er montert.
Installere pakker
Siden det nesten ikke er installert noen pakker i tjenesten så kan brukeren opprette et ssb-project og installere pakker som vanlig.
For å bygge et eksisterende ssb-project så kan brukeren også bruke ssb-project.
Slette tjenesten
For å slette tjenesten kan man trykke på Slette-knappen i Dapla Lab under Mine tjenester. Når man sletter en tjeneste så sletter man hele disken inne i tjenesten og frigjør alle ressurser som er reservert. Siden pakkene som er installert også ligger lagret på disken, betyr dette at pakkene må installeres på nytt etter at en tjeneste er slettet. Vi anbefaler at man avslutter heller pauser tjenester som ikke benyttes.
Pause tjenesten
Man kan pause tjenesten ved å trykke på Pause-knappen i Dapla Lab under Mine tjenester. Når man pauser så slettes alt påden lokale disken som ikke er lagret under $HOME/work
. Vi anbefaler at man avslutter heller pauser tjenester som ikke benyttes.
Monitorering
Man kan moniterere en instans av Vscode-python ved å trykke på Vscode-python-teksten under Mine tjenester i Dapla Lab, slik som vist i Figur 6.
Denne funksjonaliteten er under arbeid og mer informasjon kommer snart.
Fotnoter
Vscode-python er web-versjonen av VS Code og er ikke helt identisk med desktop-versjonen av VS Code mange er kjent med. Blant annet er det kun extensions fra Open VSX Registry som kan installeres.↩︎