Mis on väljalasketehnoloogia?

Release engineering ehk releng on valmis arvutitarkvara levitamiseks ettevalmistamise protsess. See võib hõlmata paljusid erinevaid programmeerimis- ja inseneriteadusi ning kõik väljalasketehnoloogia määratlused ei ole erinevates ettevõtetes ühesugused. Mõned ülesanded, mis võivad olla seotud väljalaske projekteerimisega, hõlmavad lähtekoodi koostamist, arendustööriistade ja -keskkondade jälgimist ja hooldamist, väljalasete teegi haldamist kogu programmi eluea jooksul ja mõnikord tarkvara juurutamist reaalajas serveris või süsteemis. Mõned eelised, mis tulenevad tarkvara arendustsüklis spetsiaalse väljalaskeinseneri kaasamisest, on lõppkasutajate jaoks parem kogemus – kuna väljalaskemeetodeid testitakse esmalt – parem üldine programmidokumentatsioon kogu versiooniuuenduste ajal ja omamoodi kvaliteedikontroll olukordades, kus erinevad programmi osad pärinevad erinevatest allikatest.

Tarkvara arendamise käigus saabub hetk, mil rakendus valmib ja see tuleb kas klientidele levitada või reaalajas serverisse installida, et seda saaks kasutada. Ilma väljalaskeinsenerita võib see protsess hõlmata seda, et arendajad koostavad programmi arendustööriistade kaudu ja viivad seejärel binaarfailid sihtmeediumisse või -serverisse. Mõned probleemid, mis selle protsessiga kokku puutuvad, on see, et programmil võib olla sõltuvusi, mida ei ole kvantifitseeritud, mõni muudatus võib ununeda või lõppkokkuvõttes ei pruugi protsess olla tulevikus tingimata reprodutseeritav.

Väljalasketehnoloogia üks suuremaid osi on programmi arengu edenemise jälgimine. See võib tähendada versioonisüsteemi või muu tarkvara kasutamist mitte ainult programmi iga sammu jälgimiseks ja märgistamiseks selle arendamise ajal, vaid ka programmi hetketõmmiste salvestamiseks, et neid hiljem meelde tuletada. Programmi edukas loomine nõuab lisaks lähtekoodi haldamisele ka teabe salvestamist kasutatavate tööriistade ja erinevate teekide või muude kasutatavate ressursside kohta. Lõppeesmärk on programmi uuesti kompileerimine selle arendamise mis tahes etapis, sõltumata selle loomisel kasutatud arendussüsteemidest.

Teine võimalik osa väljalasketehnoloogiast on rakenduse ettevalmistamine klientidele levitamiseks. Kui programm on kahendfailideks kompileeritud, töötatakse välja ja uuritakse meetodeid, kuidas programm lõppkasutaja arvutisse installida. See võib hõlmata installiprogrammi kirjutamist või programmi testimist erinevates olukordades, kui see on reaalajas, et tagada selle toimimine vastavalt spetsifikatsioonidele. Väljalasketehnoloogia hõlmab mõnikord programmi mitu korda mitmesse süsteemi installimist, et tagada erinevate konfiguratsioonide või vigade õige käsitlemine.