-
Notifications
You must be signed in to change notification settings - Fork 0
Dataplattform: Quick start
På denne siden finner du det minste du trenger for å starte å utvikle på dataplattformen
Det første du må gjøre er å sørge for at du har korrekt programvare lastet ned og installert. (De stedene versjonsnummer er beskrevet er det viktig at du velger denne beskrevne versjonen - erfaringsmessig har andre og nye/eldre versjoner gitt problemer.)
-
En fungerende terminal.
- Bruker du Windows må du installere WSL.
- Husk at alle verktøyene som du installerer under må installeres i din valgte WSL-distro.
- Under Windows, så er det mulig at du må installere lzma manuelt før du prøver å bruke pyenv. Det gjøres fra et WSL shell med:
sudo apt-get install liblzma-devogsudo apt-get install lzmafør du begynner å installerepyenv.
-
Verktøy for å bygge enkelte Python-komponenter.
- Bruker du Mac OS må du installere Xcode (fra App Store).
-
-
pyenvlar deg håndtere flere Python-versjoner på samme system på en svært enkel måte. - Når
pyenver installert riktig skal kommandoenpyenv --versiongi en output sompyenv 2.2.0-5-g54889eb8eller lignende. - Installer
Python 3.9.12ved å kjøre kommandoenpyenv install 3.9.12.
-
-
- Du kommer til å trenge
nodeognpm. Den enkleste måten å håndterenode- ognpm-installasjoner er gjennomnvm. - Når du har installert
nvmkan du installere en vilkårlignode-versjonXved å kjørenvm install X, og du kan bruke versjonen med kommandoennvm use X. - Du skal installere versjon 16. Kjør kommandoen
nvm install 16 && nvm use 16.
- Du kommer til å trenge
-
- Installeres ved å kjøre kommandoen
npm install -g [email protected].
- Installeres ved å kjøre kommandoen
-
- AWS sitt CLI må være installert for at Serverless skal kunne deploye til AWS.
-
- Installeres ved å kjøre kommandoen
npm install -g aws-cdk
- Installeres ved å kjøre kommandoen
For å få en best mulig opplevelse som utvikler på dataplattform, er det viktig at utviklingsmiljøet er satt opp korrekt. Disse stegene vil sørge for at du følger best practices og at du har alt du trenger for å teste koden din.
-
Klon repoet ved å kjøre kommandoen
git clone [email protected]:knowit/Dataplattform.git. Om det ikke fungerer kan det hende at du mangler en SSH-nøkkel for GitHub-brukeren din. Her må du passe på å bruke main-branchen fremover, ettersom develop er utdatert. -
I rotmappa kjører du kommandoen
pyenv local 3.9.12for å bepyenvbrukePython 3.9.12i prosjektet. -
Opprett et virtuelt miljø i rotmappa i prosjektet med
venv:python -m venv env. (På Mac kan det være nødvendig å kjøre$(pyenv which python) -m venv envi stedet, for å få riktig python-versjon.) -
Aktiver det virtuelle miljøet:
source env/bin/activate. Når det virtuelle miljøet er aktivt vil du se(env)til venstre i terminalen din. Du kan også konfigurere IDEen eller editoren din til å bruke dette virtuelle miljøet for å få kodefullføring og lignende. -
Oppgrader
pip:pip install --upgrade pip. -
(a) Installer de felles pakkene som Dataplattform benytter seg av ved å kjøre
pip install -e packages/api packages/cli packages/common packages/query packages/testing- (b) Dersom denne installasjonen feiler må du sannsynligvis installere cargo ved å kjøre
curl https://sh.rustup.rs -sSf | shNår denne er ferdig kan du gjøre steg 6a på nytt.
-
Installer
toxsom er et testrammeverk vi benytter:pip install tox==3.28.0. -
Konfigurer aws cli om du ikke har gjort det, se nedenfor.
-
Kjør kommandoen
dataplattform testi rotmappa til prosjektet for å verifisere at alt har blitt satt opp riktig. Ta deg en kopp kaffe eller te (eller noe annet du har lyst på!) og kom tilbake om 15 minutter. Dersom testene kjørte fint er alt satt opp riktig. Om du ønsker å teste enkelttjenester kan du kjøretoxinni en mappe der det ligger entox.ini-fil. Dersom du under utvikling har lagt til flere pakker i requirement.txt så må du kjøretox -rfor å gjenskape det virtuelle testmiljøet med de nye pakkene. Om du får en "botocore.exceptions.NoRegionError: You must specify a region." type feil, så gjør "Konfigurer AWS CLI" steget under først. -
(Optional) Når en pull request åpnes, lintes koden som er endret. Dersom du bruker VSCode kan du konfigurere editoren din til å bruke den samme lintingen. For å gjøre dette må du ha følgende innstillinger satt, enten på bruker- eller workspace-nivå:
{
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.flake8Args": [
"--max-line-length=120"
],
}Når du har fått tilgang til AWS-miljøene våre gjennom SSO (spør teamet eller drift om hjelp dersom tilgangen ikke er på plass ennå) kan du få programatisk tilgang ved å hente temporere nøkler til DataplattformDeveloper, på https://kion.awsapps.com/start (Disse varer i 12 timer, så kan ha det som en vane å hente nye hver dag du trenger det. Når dette er gjort kan du konfigurere CLIet til å bruke nøklene til brukeren din:
aws configureder du velger eu-central-1 som region og json som output.
(Dette kan du ikke gjøre før du har satt opp sandbox-en, ser det ut som; neste avsnitt)
- Fra rotmappa til prosjektet navigerer du deg til
templates/lambdai terminalen. - Kjør kommandoen
npm install. Denne kommandoen installerer bl.a. plugins til Serverless. - Kjør kommandoen
sls deploy. - Kjør kommandoen
sls invoke -f FUNCTION. NavnetFUNCTIONfinner du i outputen fra forrige steg. - Kjør kommandoen
sls removefor å fjerne det du har deployet. Dette kan feile om flere prøver å følge guiden samtidig.
- Sjekk ut Dataplattform: Deploy til sandbox