Innlegg
Fordelene ved å bruke et byggerammeverk
26. november 2020 • 2 min lesing

Kontinuerlig integrasjon (CI) og/eller kontinuerlig levering (CD) er normen på programvareprosjekter i dag. Det finnes mange byggeservere som Azure DevOps, TeamCity, Jenkins og Cruise Control.Net. De fleste av disse serverne bruker proprietære språk for å definere byggetrinn. Men er det en god ting å kodifisere byggetrinnene dine i et proprietært språk?
Noen applikasjoner er enkle, med få byggetrinn, andre er mer komplekse med mange byggetrinn. Når du definerer byggetrinn i et proprietært språk, jo mer komplekse byggetrinnene er (i sofistikering eller i antall), desto mer koblet til en byggeplattform blir du. Dette blir et problem når du ønsker å bytte byggeplattform. For eksempel bruker du JetBrains TeamCity i ditt lokale datasenter, men selskapet bestemmer seg for å flytte til skyen. Nå må du skrive om byggeskriptene dine fordi TeamCity ikke støttes på den nye skyplattformen.
I stedet for å skrive byggeskriptene dine i et proprietært språk, bør du vurdere å bruke et byggerammeverk.
Byggerammeverk har to fordeler:
- Tillater transportabilitet mellom byggeplattformer.
- Lar deg versjonere byggeskriptene dine sammen med applikasjonskoden din.
Transportabilitet mellom plattformer gir deg fleksibiliteten til å flytte mellom byggeplattformer med minimal innsats. Det vil alltid være noe konfigurasjon på en ny byggeplattform, men byggerammeverk holder innsatsen lav.
Etter min mening er den største fordelen med byggerammeverk muligheten til å sjekke inn og versjonere byggeskriptene dine sammen med applikasjonskoden din. Å ha muligheten til å hente kode fra hvilket som helst punkt i kildekontrollens historie og få den koden til å bygge er vel verdt eventuelle ulemper ved et byggerammeverk.
Det finnes to populære rammeverk i .Net-området: Cake og Nuke Build. Begge rammeverkene har eksistert en stund. Jeg har brukt Nuke Build og liker det. Jeg har hørt flotte ting om Cake og oppfordrer deg til å se på det før du bestemmer hvilket som er det beste rammeverket for prosjektet ditt.
Så neste gang du oppretter en ny byggedefinisjon for applikasjonen din, bør du vurdere å bruke et byggerammeverk og sjekke det inn i kildekontroll sammen med applikasjonen din.
Forfatter: Chuck Conway spesialiserer seg på programvareutvikling og Generativ AI. Koble til ham på sosiale medier: X (@chuckconway) eller besøk ham på YouTube.