...
Ympäristö | Osoite | Mihin se on tarkoitettu | Päivityspolitiikka |
---|---|---|---|
Tuotanto | Kompassin varsinainen tuotantoympäristö. Tätä oikeat tapahtumat ja ihmiset käyttävät. | Jatkuvan integraation ns. CI-putki päivittää master-haarasta | |
Staging | 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ä!
- Rebaseta feature-haarasi GitHubin tracon/kompassi-repon development-haaran uusimman version päälle, jos se ei ole jo.
- 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.
- Lähetä feature-haarastasi pull requesttracon/kompassi-repon development-haaraan.
- Japsu katselmoi pull requestisi. Toteuta pyydetyt muutokset (tarvittaessa yhdessä Japsun kanssa).
- Kun tarvittavat muutokset on tehty, Japsu mergeää feature-haarasi development-haaraan ja se pyörähtää ajoon Staging-ympäristöön.
- Auta Japsua testaamaan muutoksesi Staging-ympäristössä.
- Jos kaikki meni putkeen, seuraavaksi Japsu mergeää development-haaran master-haaraan eli "tekee julkaisun".
- 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 | ||||
---|---|---|---|---|
| ||||
# 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.