Kielitutkintorekisteriin säilötään tutkintojen ja kieliosaamisen tunnustaminen -yksikön hallinnoimiin kielitutkintoihin liittyviä rekisteritietoja. Kielitutkintorekisteriä käyttävät Opetushallituksen virkailijat, mutta rekisteritietoja viedään KOSKI-palveluun ja siten niitä voidaan näyttää Oma Opintopolun asiakkaille.
Loput riippuvuudet asennetaan käyttäen mise -työkalua. Misen asennus onnistuu homebrewlla (brew install mise) tai
vaihtoehtoisilla tavoilla. Kehitysympäristön perustusskripti suorittaa mise install osana kehitysympäristön
perustusta, joten sen ajaminen erikseen ei ole tarpeen. Ajantasainen lista asennettavista riippuvuuksista on nähtävillä
.mise.toml-tiedostossa, jossa on myös muu Misen konfiguraatio (mukaanlukien joitain tarpeellisia ympäristömuuttujia).
Sovellus hakee salaisuudet AWS Secrets Managerista start_local_env.sh tai
start_local_server.sh-skriptiä käytettäessä.
Tätä varten start_local_server.sh konfiguroi automaattisesti aws-komentorivityökalun käyttämään OPH:n AWS-tilejä.
Voit konfiguroida AWS-profiilit myös erikseen ensure_aws_profiles.sh-komennolla.
Paikallisen kehitysympäristön perustamiseen käytetään skriptiä start_local_env.sh. Skriptiä sovelletaan myös
kehitysympäristön riippuvuuksien ja perustusvaiheiden dokumentaationa.
./scripts/start_local_env.sh
Skripti perustaa kehitysympäristön ja oletuksena avaa uuden tmux session, jonka eri ikkunoihin esim. tietokantaan ja
taustapalvelimeen liittyvät prosessit käynnistetään.
Mikäli et halua avata tmux-sessiota ja haluat käynnistää tietokannan ja taustapalvelimen yms. jollain muulla tavoin,
skriptille voi antaa --setup-only parametrin. Tällöin suoritetaan kehitysympäristön perustus ja konfigurointi, mutta
tmux-session perustaminen, sekä Docker-konttien ja palvelinten käynnistäminen jätetään tekemättä.
./scripts/start_local_env.sh --setup-only
Settings -> PluginsSovelluksessa käytetään ktlint - teknologiaa kotlin - tiedostojen tyylittämiseen. mise asentaa Ktlintin
kehitysympäristön perustamisen yhteydessä. IntelliJ IDEA:aan saa Ktlint-liitännäisen, jonka asentamisen jälkeen IDEA:n
voi laittaa muotoilemaan koodin tallentamisen yhteydessä.
Settings -> Tools -> KtLintMode: Distract free ja varmista että Format: on save -valintaruutu on valittu.Sen lisäksi kotlinista on hyvä olla K2 - moodi päällä.
Settings -> Languages & Frameworks -> KotlinEnable K2 mode - checkbox ja käynnistä IDEA uudelleen.Sovellus julkaistaan kolmelle AWS-tilille:
| Nimi | AWS-tili |
|---|---|
| dev | 682033502734 |
| test | 961341546901 |
| prod | 515966535475 |
Ensimmäinen julkaisu AWS-tilille, jolle ei ole vielä julkaistu palvelua vaatii, että kehittäjä käy manuaalisesti antamassa luvan AWS Chatbotille päästä käsiksi Slack-kanavaan jonne hälytykset ohjataan. Tämä tapahtuu AWS Chatbot -palvelun konsolista kohdasta “Configure a chat client” ja valitsemalla Slackin.
Julkaisu tapahtuu automaattisesti GitHub Actions -palvelussa Build-tiedoston mukaisesti jokaisella main-haaran päivityksellä.
Julkaisun voi myös ajaa omalta koneelta komennoilla:
(cd infra && TAG=$(git rev-parse HEAD) npx cdk deploy 'Util/**')
(cd infra && TAG=$(git rev-parse HEAD) npx cdk deploy 'Dev/**')
(cd infra && TAG=$(git rev-parse HEAD) npx cdk deploy 'Test/**')
(cd infra && TAG=$(git rev-parse HEAD) npx cdk deploy 'Prod/**')
Seuraavat salaisuudet pitää luoda manuaalisesti AWS Secret Manageriin.
slack-webhook-url: Hälytysten lähettämiseen Slack-kanavalle. Ks. slackNotifierLambda. Pitää luoda regioonille eu-west-1 sekä us-east-1.oppijanumero-password: Oppijanumeropalvelun salaisuus. Ks. fi.oph.kitu.oppijanumero-paketti.kielitesti-token: Koealustan salaisuus. Ks. fi.oph.kitu.kielitesti-paketti.# Jos haluat lisätä formatointitarkastuksen commitin luonnin yhteyteen
./scripts/setup-hooks.sh
# Tarkista formatointi. Voit formatoida koodin ajamalla `ktlint --format`
./scripts/check-formatting.sh
# paketoi projektin.
mvn package
# Voit käyttää tätä jos ajat ympäristöä terminaalin kautta
./scripts/start_local_server.sh
# e2e-testien ajaminen e2e-hakemistossa
# Playwrightin UI testien ajamiseen --ui flagilla
npx playwright test
# e2e-testien ajaminen rinnakkain. Määritä haluttu workerien lukumäärä ympäristömuuttujalla TEST_WORKERS. Suurin tuettu
# arvo on 4. Oletusarvo on 1, joka poistaa testien rinnakkaisuuden käytöstä.
TEST_WORKERS=4 npx playwright test