Skip to content

Product pipeline

Niko Häppölä edited this page Dec 9, 2020 · 2 revisions

Pipeline

Devaus

Repositoriossa varsinainen kehitystyö tapahtuu trunk-haarassa. Masteriin (eli tuotantoon) ei voi suoraan puskea muutoksia, vaan muutokset mergetään trunkista pull requestilla. Jos devatessa käytetään muita haaroja, ne tulisi mergetä trunkiin ja sitä kautta masteriin. Kirjoittajan vinkki: eri haaroissa työskentely johti nopeasti mergehelvettiin, en suosittele. Github tarjoaa automaattisia security-pullareita, niiden mergeäminen masteriin ei aiheuttanut ongelmia.

Automaattiset testit

Trunkiin puskettu setti ajetaan CircleCI:ssä testiympäristössä. Eli testit voivat mennä tässä kohtaa läpi CircleCI:ssä, mutta jotain voi silti olla rikki tuotannossa. Yleensä ongelmat liittyivät ympäristömuuttujiin (ja loogisiin operaatioihin). CircleCI-ajo kestää kauan, testit kannattaa tsekata paikallisesti ennen puskemista.

Staging

Staging-palvelimena käytetään TOSKA:n stagingia. Kysy palvelimelle pääsyn/käytön tarkemmat tiedot asiakkaalta/ohjaajalta (vinkkinä asiakkaalle: tunnarit löytyvät TOSKA:n sisäisestä dokumentaatiosta). Syksyn iteraatiossa staging-palvelimelle ei ollut tiimillä asiaa (featuren, joka toimi testiympäristössä, mutta ei stagingissa, debuggaus oli käytännössä mahdotonta...), mutta tämä saattaa olla muuttumassa tulevilla kursseilla. Kysy lisää asiakkaalta/ohjaajalta.

Staging-palvelimella ohjelmistoa voi käyttää täysin samoin kuin tuotannossa. Stagingissa on anonymisoitu tietokantadumppi, joka mahdollistaa esim. algoritmin kattavan testailun. Trunkiin pusketun version siirtyminen stagingiin saattaa ottaa aikaa.

Tuotantoon

CircleCI ajetaan masterin pullarin yhteydessä ja sen on mentävä läpi, jotta merge onnistuu. Uusimman version siirtyminen tuotantoon ottaa aikaa.

Clone this wiki locally