Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

YmpäristöOsoiteMihin se on tarkoitettuPäivityspolitiikka
Tuotanto

https://kompassi.eu

Kompassin varsinainen tuotantoympäristö. Tätä oikeat tapahtumat ja ihmiset käyttävät.Jatkuvan integraation ns. CI-putki päivittää master-haarasta
Staging

https://dev.kompassi.eu

Kompassin kehittämisen tueksi sekä esittelyyn muille tapahtumaorganisaatioille. Tänne voi antaa vapaammin pääkäyttäjätunnuksia joilla voi mellastaa vapaasti pääsemättä käsiksi henkilötietoihin tai aiheuttamatta tuhoa muille tapahtumille.CI-putki päivittää development-haarasta

Molemmat ympäristöt pyörivät Neula-palvelimella. Ympäristöjä hallitaan Ansible-konfiguraationhallinnan avulla.

Tuotantoonvienti

Olet siis saanut aikaan jotain valmista? Hyvä!

  1. Rebaseta feature-haarasi GitHubin tracon/kompassi-repon development-haaran uusimman version päälle, jos se ei ole jo.
  2. Puske feature-haarasi GitHubiin oman tunnuksesi alle luomaasi kompassi-repon forkkiin kuvaavalla haaranimellä, esim. feature/condb-584. Käytä haaran nimen osana joko Jira-tiketin numeroa tai ytimekästä kuvausta ominaisuudellesi, esim. feature/automatic-shift-generation.
  3. Lähetä feature-haarastasi pull requesttracon/kompassi-repon development-haaraan.
  4. Japsu katselmoi pull requestisi. Toteuta pyydetyt muutokset (tarvittaessa yhdessä Japsun kanssa).
  5. Kun tarvittavat muutokset on tehty, Japsu mergeää feature-haarasi development-haaraan ja se pyörähtää ajoon Staging-ympäristöön.
  6. Auta Japsua testaamaan muutoksesi Staging-ympäristössä.
  7. Jos kaikki meni putkeen, seuraavaksi Japsu mergeää development-haaran master-haaraan eli "tekee julkaisun".
  8. Muutoksesi ovat nyt tuotannossa. Onneksi olkoon!

Tietokantamigraatiot ja setup-skriptit

Tietokantamigraatiot tehdään Djangon omalla migraatiotyökalulla. Niiden vastuulla on tietokannan rakenteen (taulujen, kenttien ja indeksien) päivittäminen ajan tasalle.

Omassa kehitysympäristössäsi voit ajaa setup-skriptin tai pelkät migraatiot Docker Composen avulla näin:

Code Block
languagebash
titleMigraatioiden ja setup-skriptin ajaminen lokaalissa kehitysympäristössä
# käynnistä ensin kehitysympäristö toisessa terminaali-ikkunassa
docker-compose up
 
# setup-skriptin ajaminen
docker-compose exec web python manage.py setup
 
# pelkkien tietokantamigraatioiden ajaminen
docker-compose exec web python manage.py migrate

Staging- ja tuotantoympäristöissä setup-skriptin ja migraatioiden ajoon käytetään Jenkinsistä löytyvää kompassi-ops-työtä. Jenkins käyttää puolestaan näiden ajamiseen Ansible-konfiguraationhallintatyökalua.

Jenkins like it's 2010Image Added