Pidev integratsioon
Ilme
See artikkel ootab keeletoimetamist. (Detsember 2018) |
Pidev integratsioon (inglise keeles continuous integration, lühend CI) on tarkvaraarenduses järgitav tava, kus arendajad pidevalt oma koodi ühisesse hoidlasse üles panevad.[1]
Iga muudatust kontrollib automaatne protsess, mis tagab arendusprojekti stabiilsuse ning kui esineb vigu, leitakse need kiiresti.[2] Selleks et arendajate tehtud muudatused koodis ei jääks isoleerituks, peavad arendajad oma muudatused ühishoidlas asuva koodiga liitma. Nende muudatuste edukust testitakse kohe, luues uus tarkvaraversioon (build), mida testivad automaattestid.[3] Pidev integratsioon säästab aega, kuna identifitseerib varakult koodimuudatustest tulenevad konfliktid ja regressioonid, kuid selle edukaks läbiviimiseks on vaja palju automaatteste.
Head tavad[4]
[muuda | muuda lähteteksti]- Üks lähtekoodihoidla
- Tarkvaraarenduse protsessi automatiseerimine
- Pärast iga muudatuse üleslaadimist peaks tarkvaraarendus toimuma keskses integratsiooniarvutis
- Tarkvaraarendusprotsess peab toimuma kiiresti
- Testimine toimub LIVE keskkonna põhjal kloonitud keskkonnas
- Terve protsess on kõigile nähtav
Kuidas seda edukalt läbi viia[4]
[muuda | muuda lähteteksti]- Arendajad tõmbavad lähtekoodi oma arvutisse
- Pärast arenduste/muudatuste tegemist laadivad arendajad muudetud koodi ühishoidlasse
- Muudatuste üleslaadimisel kehtib reegel "mida tihemini, seda parem" (ideaalis kuni mitu korda päevas)
- Server ehitab tarkvaraversiooni ning käitab üksust ja integratsiooniteste
- Server tekitab testimiseks kasutatavad artefaktid
- Server teavitab tiimi eduka tarkvaraversiooni ehitamisest
- Kui testid või tarkvaraversiooni ehitamine ei õnnestu, siis server teavitab tiimi
- Tiim selgitab probleemi välja ja parandab
- See protsess jätkub terve tarkvaraarenduse elutsükli jooksul
Ohud ja riskid[5]
[muuda | muuda lähteteksti]- Automaattestide loomine ja kaasajastamine nõuab palju aega
- Automaatse tarkvaraarendusprotsessi loomine on keeruline
- Väiksemate projektide puhul ei lisa väärtust
- Lisaväärtus sõltub testide kvaliteedist ja sellest, kui lihtsalt testitav on kood
- Juhul kui muudatused pole lõplikult valmis, aga arendajad laadivad ikkagi oma koodi hoidlasse üles, siis integratsioonitestid kukuvad läbi, kuni funktsioon on lõpetatud
Vaata ka
[muuda | muuda lähteteksti]- Jenkins – kõige populaarsem pidev integratsiooni tööriist
- Pideva integratsiooni tööriistade võrdlus
Viited
[muuda | muuda lähteteksti]- ↑ https://www.thoughtworks.com/continuous-integration. Vaadatud 07.10.2018.
{{cite web}}
: puuduv või tühi pealkiri:|title=
(juhend) - ↑ https://www.martinfowler.com/articles/continuousIntegration.html#PracticesOfContinuousIntegration. Vaadatud 07.10.2018.
{{cite web}}
: puuduv või tühi pealkiri:|title=
(juhend) - ↑ https://www.atlassian.com/continuous-delivery/ci-vs-ci-vs-cd. Vaadatud 12.10.2018.
{{cite web}}
: puuduv või tühi pealkiri:|title=
(juhend) - ↑ 4,0 4,1 https://www.thoughtworks.com/continuous-integration. Vaadatud 12.10.2018.
{{cite web}}
: puuduv või tühi pealkiri:|title=
(juhend) - ↑ https://en.wikipedia.org/wiki/Continuous_integration#Costs_and_benefits. Vaadatud 12.10.2018.
{{cite web}}
: puuduv või tühi pealkiri:|title=
(juhend)