Innovaatioprojekti: PalvelimetOman koneen ympäristö - localhostEnsimmäinen tehtävä on asentaa omalle koneelle toimiva työympäristö. Siihen kuuluu ainakin ryhmän valitsema IDE-ympäristö mausteineen sekä paikallinen tietokantapalvelin. Jos teette webbisovellusta, tarvitsette myös Tomcatin. Viritelkää vasta tämän jälkeen työryhmän yhdessä tarvitsemat palvelimet toimintakuntoon. Kehityspalvelimet - EcloudRyhmä voi ottaa käyttöönsä tarpeellisen määrän Ecloud-palvelimelle generoitavia virtuaalikoneita (https://ecloud.metropolia.fi). Nämä näkyvät ainoastaan Metropolian sisäverkossa, mutta niitä voi käyttää muualta Metropolian VPN-yhteyden kautta. Palvelimiin pääsee käsiksi (ja konfiguroimaan) ssh-yhteyden kautta. (Ohjeistuksia löytyy sieltä OTP-kurssien työtiloista). Joissakin tapauksissa asiakas tarjoaa palvelimet projektin käyttöön. Jos projekti tarvitsee sisäverkon ulkopuolelle näkyviä palvelimia, niitä voi tiedustella kurssiassistentilta. Projekteissa yleisesti käytettäviä palvelimia: Koontipalvelimella toteutetaan jatkuva integrointi ja käyttöönotto (CI/CD, Jenkins) muita palvelimia apunaan käyttäen. Koska virtuaalikoneet eivät näy julkiseen verkkoon, koontipalvelin tulee konfiguroida siten, että se pollaa määräajoin versionhallinnassa tapahtuvia muutoksia. Jenkins näkyy VPN-yhteydellä www-selaimella (esim. http://10.114.32.49:8080). Koneiden sisällä Jenkins näkyy selaimessa osoitteessa http://localhost. Testausympäristö on tarkoitettu kehitettävän sovelluksen testien ja analyysien suorittamiseen koonnin jälkeen. Se koostuu esimerkiksi sovelluspalvelimesta ja tietokantapalvelimesta. Testausympäristössä on hyvä tehdä esim. manuaalista testausta, koska siellä sovelluksen voi pitäytyä halutussa versiossa. Koontipalvelimella sovellusversio muuttuu jokaisen versionhallintamuutoksen yhteydessä. Testiympäristön tietokantapalvelimen tehtävänä on tarjota tietokantapalvelut kyseisessä ympäristössä suoritettaville sovelluksille. Tuotantoympäristön sovelluspalvelin ja tietokantapalvelin on tarkoitettu peilaamaan mahdollisimman tarkkaan sitä tulevaa ympäristöä, jossa kehitettävä ohjelmisto lopulta toimii.
Versionhallintapalvelin - GitLabKäyttäkää mieluiten GitLabia - sen ilmaisversio ei rajoita projektiin osallistuvien lukumäärää (toisin kuin GitHub). Antakaa ohjaajalle lukuoikeudet (reporter-oikeudet) repositorioonne. Repositoriossa kannattaa pitää jatkuvasti kahta haaraa: master ja develop. Master-haarassa (origin/master) on projektin tuotantoversio eli juuri se versio, jota demotaan asiakkaalle sprintin päätteeksi. Develop-haarassa (origin/develop) on aina viimeiset kehitysmuutokset projektista. Joskus tätä sanotaan integrointihaaraksi, sillä se on se haara, josta jatkuvan integroinnin palvelin tekee koonnin.
Kun olette tekemässä jotain isompaa uutta ominaisuutta, eriyttäkää itsellenne develop-haarasta uusi haara. Kun uudessa haarassa oleva koodi on stabiili (kääntyy, testattu ja toimii), lomittakaa (merge) se develop-haaraan. Ominaisuushaarat (feature branch) ovat yleensä vain kehittäjän omassa repossa (eivät origin-repossa). Sprintin lopuksi kannattaa versionhallintaan panna leima (tag), joka osoittaa, mikä on tilanne sprintin loppuessa. Lue lisää git-haaroista tästä blogikirjoituksesta. Muokattu 19.8.2020 Auvo Häkkinen (luotu 25.9.2016) |