Hvad er release engineering?
Release engineering eller releng er processen med at forberede afsluttet computersoftware til distribution. Dette kan involvere mange separate programmerings- og ingeniørdiscipliner, og ikke alle definitioner af frigivelsesteknik er de samme på tværs af forskellige virksomheder. Nogle af de opgaver, der kan være involveret i frigivelsesteknologi, inkluderer kompilering af kildekode, sporing og vedligeholdelse af udviklingsværktøjer og miljøer, vedligeholdelse af et bibliotek med frigivelser gennem et programs levetid og undertiden implementering af installationen af software på en live server eller et system. Et par af fordelene ved at have en dedikeret frigørelsesingeniør i softwareudviklingscyklussen er en bedre oplevelse for slutbrugere - fordi frigørelsesmetoder først testes - bedre samlet programdokumentation gennem opgraderinger og en slags kvalitetskontrol i situationer, hvor forskellige dele af et program stammer fra separate kilder.
Under udviklingen af software kommer der et punkt, hvor applikationen er afsluttet og skal enten distribueres til kunder eller installeres på en live server, så den kan bruges. Uden en frigørelsesingeniør kunne denne proces involvere, at udviklerne sammenstiller et program gennem udviklingsværktøjer og derefter flytter binære filer til målmediet eller serveren. Nogle af de problemer, der kan opstå ved denne proces, er, at programmet kan have afhængigheder, der ikke er kvantificeret, nogle ændringer kan glemmes, eller i sidste ende kan processen muligvis ikke nødvendigvis reproduceres i fremtiden.
En af de største dele af frigørelsesteknologi er at spore udviklingen i, hvordan et program udvikler sig. Dette kan betyde at bruge et versioneringssystem eller anvende anden software ikke kun til at spore og mærke hvert trin i et program under dets udvikling, men også til at gemme snapshots af programmet, så de kan huskes senere. Ud over blot at håndtere kildekoden, kræver det at bygge et program, at information om de værktøjer, der bruges, og de forskellige biblioteker eller andre ressourcer, der bruges, også gemmes. Det endelige mål er at være i stand til at rekompilere et program på ethvert trin under dets udvikling, uafhængigt af de udviklingssystemer, der bruges til at oprette det.
En anden mulig del af frigørelsesteknik er at forberede en applikation til distribution til kunder. Når programmet er blevet samlet til binære filer, udvikles og udforskes metoder til at få programmet installeret på en slutbrugers computer. Dette kan indebære, at man skriver et installationsprogram eller tester programmet i forskellige situationer, hvis det er live for at sikre, at det fungerer i henhold til specifikationerne. Release engineering involverer undertiden faktisk at installere et program flere gange på flere systemer for at sikre, at forskellige konfigurationer eller fejl håndteres på den rigtige måde.