Continuous Delivery Pipeline 101 | Atlassian (2024)

Hva er en kontinuerlig leveringsrørledning?

Det kontinuerlige leveringsrøret er et sett med automatiske prosesser for ny programvarelevering.Er en kontinuerlig prosess med paradigmeSom opprettelsen av tester og automatisk tilpasning er blitt administrert som en enkelt arbeidsflytNår du snakker tydeligere, er CD -røret et sett med trinn som du endrer koden for å føre til produksjon.

CD -rør leverer kvalitetsprodukter ofte og forutsagt i henhold til forretningsbehov.Fra forberedelsestesten til automatisk produksjon

For nybegynnereVi fokuserer på de tre konseptene: kvalitet, frekvens og spådommer.

Vi understreker kvaliteten for å understreke at den ikke er utvekslet for hastighet.Bedrifter vil ikke at vi skal lage en linje som kan skyte feil kode til produksjonen i høy hastighet.Vi vil gå gjennom prinsippet om "skift til venstre" og "DevSecOps"Og diskutere hvordan vi kan flytte kvaliteten og vannsikkerheten i programvareutviklingssyklusen (SDLC). Dette vil redusere bekymringene for de kontinuerlige leveringsrørene som forårsaker risiko for virksomhet.

Frekvens indikerer at rørledningen kjøres når som helst for å frigjøre funksjoner. Dette er fordi de er programmert til å utløses av commits til kodebasen. Når MVP-rørledningen (Minimum Viable Product) er klar Den kan betjenes så mange ganger som nødvendig med periodiske vedlikeholdsgebyrer. Denne automatiserte metoden er skalerbar uten teamutbrenthet. Det lar også team forbedre produktene sine gradvis uten frykt for en større produksjonskatastrofe.

Se hvordan du løser problemet.

Bygg og distribuer programvare med Open DevOps

Lære mer

Relaterte materialer

Hva er en DevOps-pipeline?

Les mer

Siden det kan høres ut som en kjedsomhet av "feilen med" feil, er mennesker "fremdeles sanne.Teamet er klart til å bli berørt under selvfordelingen.Fordi disse prosessene er skjøreForutsigelsen av prediksjonen indikerer at formidlingen er en bestemt faktor når PP -linjen pågår.Fordi røret er en infrastruktur som kan lokaliseresTeamet kan forvente atferden du vil ha hver gang.Selvfølgelig kan en ulykke oppstå.Fordi det ikke er noen programvare uten feil.Fordi røret ikke er snublet i henhold til planen som er aggressiv, forskjellig fra mennesker

Rørledningen har programvareporter som automatisk oppmuntrer eller nekter versjonerte artefakter å passere. Hvis utgivelsesprotokollen ikke følges Programvaredøren forblir lukket. og rørledningen vil bli kansellert. Et varsel genereres og et varsel sendes til distribusjonslisten som inneholder teammedlemmer som kan forstyrre rørledningen.

Og det er slik CD-pipelines fungerer: commits eller rullende commits. Den går live hver gang pipelinen er fullført. Til syvende og sist sender teamet funksjoner og eventuelle produkter på en sikker og verifiserbar måte.

Faser i en kontinuerlig rørledning

Arkitekturen til produktet som strømmer gjennom peplines er en viktig faktor som bestemmer anatomien til linjen, kontinuerlig levering.Arkitektur, produkter som er veldig tilkoblet, vil skape et komplekst grafikkrørmønster.Hvilke forskjellige linjerVil være sammenfiltrert før du fører til produksjon til slu*tt

Produktarkitektur påvirker også ulike faser. av rørledningen og artefakter i hver fase La oss diskutere fire generelle trinn i kontinuerlig levering:

  1. komponentfase
  2. Delsystemfase
  3. Systemfase
  4. Produksjonsprosess

Selv om du anslår mer enn fire faser eller færre enn fire faser i organisasjonen. Ideene som er skissert nedenfor, gjelder fortsatt.

En vanlig misforståelse er at disse stadiene er fysiske symptomer på rørledningen din. Det trenger de ikke. Dette er logiske faser og kan kartlegges til miljømilepæler som testing, iscenesettelse og aktivering. For eksempel kan komponenter og delsystemer bygges, testes og distribueres i testing. Delsystemer eller systemer kan settes sammen, testes og distribueres i trinn. Et delsystem eller system kan fremmes til produksjon som en del av en produksjonsflyt.

Kostnaden for feil er lav når de oppdages i testing. Moderat når det finnes i drama og i høy produksjon "gå til venstre"Betyr å sjekke nøyaktigheten som tidligere ble trukket ut i røretDøren fra testen til dramaet har flere beskyttelsesteknikker i dag.Og av denne grunn trenger ikke dramaet å se ut som scenen lenger!

Historisk sett har InfoSec kommet til slu*tten av programvareutviklingssyklusen. Når en publisert utgivelse avvises, kan det utgjøre en cybersikkerhetstrussel for selskapet. Selv om disse intensjonene er edle, Men det forårsaker også frustrasjon og forsinkelser.»Devsecops” Støtte for å bygge sikkerhet inn i produkter fra designstadiet. I stedet for å sende det ferdige produktet (Det er kanskje ikke trygt) gå og bli evaluert

La oss se på "Shift Left" og "DevSecOps"Kan løses i løpet av neste leveringsprosess. I neste del vil vi snakke om hvert trinn i detalj.

CD -komponentfase

Rørledningen bygger først komponenten. Det er den minste distribuerbare og testbare enheten til et produkt. For eksempel kan et bibliotek opprettet av en pipeline kalles en komponent. Komponenter kan sertifiseres over alt annet Ved å gå gjennom koden enhetstesting og statisk kodeanalysator

Kode anmeldelseDet er viktig for teamet å ha en felles forståelse av funksjonene, testingen og infrastrukturen som kreves for at produktet skal publiseres. Et andre par øyne kan ofte gjøre underverker. I løpet av årene Vi kan motstå dårlig kode på en slik måte at vi ikke lenger tror den er dårlig.Frisk utsiktDet kan tvinge oss til å se tilbake på disse svakhetene og uselvisk omstrukturere dem der det er nødvendig.

enhetstestingDet er alltid det første settet.programvaretestingat vi kjører på koden vår De berører ikke databasen eller nettverket. Kodedekningen er prosentandelen av koden som har blitt enhetstestet. Det er flere måter å måle dekning på, for eksempel linjedekning. Klassedekning Dekning av metoder mv.

Mens det er fint å haGod kodedekningFor å redusere kompleksiteten i restrukturering Å sette et høyt dekningsmål vil være skadelig. i strid med intuisjonen Noen lag med høy kodedekning har mer produksjonsstans enn lag med lavere kodedekning. Husk også at spilldekningstall er enkle. under akutt press Dette gjelder spesielt under ytelsesanmeldelser. Utviklere kan gå tilbake til urettferdig praksis for å øke kodedekningen. Og jeg skal ikke dekke disse detaljene her!

Statisk kodeanalyseOppdaget problemer i koden uten operasjonDette er en billig måte å oppdage problemer på.Som enhetstestenDisse testene jobber med en sorscode og har en lav gangtid.Stabile analysemaskiner vil oppdage lekker minne.Sammen med kodekvalitetsindikatorer som cyclomkomplikasjoner og gjentagelse av kodeI løpet av denne periodenSikkerhetstesten er en konstant analyse (SAST). Det har vist seg å være i stand til å oppdage sikkerhetssårbarhet.

Definer beregningene som kontrollerer programvareporten din og påvirker kodepromotering. Fra komponentfasen til delsystemfasen.

Faser av CD-delsystemet

Løst tilkoblede komponenter satt sammen til delsystemer Det er den minst distribuerbare og kjørbare enheten. For eksempel er en server et undersystem. Mikrotjenester som kjører i containere er også eksempler på undersystemer. Sammenlignet med ulike komponenter Delsystemer kan stå opp og valideres mot kundetilfeller.

Akkurat som Node.js UI og Java API -laget, er databasen også et sub -system i noen organisasjoner. RDBMS (Relationship Database Management System) vil bli administrert av deg selv.Selv om det er nye verktøy som gjør at databasen endres automatisk og kontinuerlig leverer databasen.NoSQL -databasen er enklere å bruke enn RDBMS.

Fordøyelsessystemet kan brukes og sertifiseres ved å teste effektivitet og sikkerhet.Vi studerer hvordan disse testene kan sjekke produktet.

ArbeidstestTilfellet om bruk av alle kunder relatert til internasjonalisering (I18N), oversettelse til lokale språk (L10N), datakvalitet, tilgang, negative situasjoner, etc. Disse testene sørger for at produktene dine kan fungere. I henhold til kundens forventningerÆre integrasjonenOg tilby tjenester i markedet som er opprettet for

din betegnelseopptredenMåling av ytelse med produkteierne Integrer ytelsestesten i pipeline. og bruk benchmarks for å bestå eller mislykkes rørledningen. misforståelse Den røde tråden er at ytelsestesting ikke trenger å integreres i den kontinuerlige leveringsrørledningen, noe som er i strid med det kontinuerlige paradigmet.

Store organisasjoner har blitt brutt den siste tiden. Og cybersikkerhetstrusler er på sitt høyeste nivå. Vi må stramme beltene og sørge for at vi ikke gjør det.sikkerhetSårbarheten i våre produkter - kan være i koden som vi skrev eller i tredjepartsbiblioteket som vi importerte til koden vår.I virkelighetenDet sentrale bruddet ble oppdaget i OSS (åpen kildekode), og vi bør bruke verktøy og teknikker som markerte disse feilene og tvang linjen til å avbryte DAST (Dynamic Analysis Test) som en metode. Det har vist seg å være i stand til å oppdage sikkerhetsproblemerbarhet

Følgende illustrasjoner beskriver arbeidsflyten som er nevnt i komponentens fase og sub -system.Fortsett i henhold til de parallelle trinnene for å øke effektiviteten til alle linjeoperasjoner og motta rask respons.

A) komponentsertifisering og/eller fordøyelsessystemer i testmiljøet

ไปป์ไลน์การจัดส่งอย่างต่อเนื่อง 101 | แอตลาสเซียน (1)

CD-systemfase

Når delsystemer oppfyller forventningene til funksjon, ytelse og sikkerhet. Rørledninger kan læres å sette sammen systemer fra løst sammenkoblede delsystemer. Når hele systemet frigjøres som en helhet Dette betyr at det raskeste laget kan gå fortere enn det tregeste laget. Dette minner meg om det gamle ordtaket: "En kjede er bare så sterk som dens svakeste ledd."

Vi anbefaler at det ikke er anti-mønstre til dette elementet. hvor delsystemer settes sammen til et samlet system. Dette anti-mønsteret binder alle delsystemene sammen for å lykkes. Hvis du investerer i fritt utplasserbare artefakter Du vil kunne unngå dette motstandsmønsteret.

I tilfelle systemet må sjekkes for generell nøyaktighetDisse systemene kan sertifiseres avIntegrert,opptreden, ogsikkerhetTesten er forskjellig fra fasen av livsoppholdet.Ikke bruk simulering eller lager i løpet av denne perioden. I tillegg er det viktig å fokusere på grensesnitttesten og nettverket mer enn noe annet.

Følgende illustrasjon oppsummerer arbeidsflyten i systemfaser. I tilfelle du trenger å sette sammen delsystemer ved hjelp av komposisjon. Selv om du kan rotere undersystemene dine til produksjon. Følgende illustrasjon vil bidra til å lage programvareportene som trengs for å fremme kode fra en fase til den neste.

Røret kan automatisk sende inn en endringsforespørsel (CR) for å komme ut av inspeksjonsveien.De fleste organisasjoner bruker denne arbeidsflyten for standardendring.Som betyr publisering i henhold til planenDenne arbeidsprosessen skal brukes til nødendringer eller formidling uten planlegging.Selv om noen lag har en tendens til å kutte vinkelenVær oppmerksom på at endringsforespørselen automatisk lukkes av Pipe CD når feil blir tvunget.Denne metoden vil forhindre at forespørselen endres, forlater midten av arbeidsflyten.

Følgende illustrasjon beskriver trinnene som dekkes i CD-systemfasen. Vær oppmerksom på at enkelte trinn kan involvere menneskelig inngripen. Og disse manuelle trinnene kan utføres som en del av en manuell port i rørledningen. Når alt er kartlagt En pipeline-visualisering vil likne mye på et verdistrømkart over produktlanseringen din!

B) Sertifisering av fordøyelsessystemet og/eller systemer i dramamiljøet

ไปป์ไลน์การจัดส่งอย่างต่อเนื่อง 101 | แอตลาสเซียน (2)

Når det monterte systemet er sertifisert La monteringen være uendret og fremme den til produksjon.

CD-produksjonstrinn

Om delsystemene kan distribueres uavhengig eller integreres i systemet Versjonsartefakter distribueres til produksjon som en del av denne siste fasen.

Tilpasning for å slu*tte å jobbe null (ZDD) for å forhindre stopp for kundene.Og skal øve fra forberedelsestesten til selve brukenBruken av blågrønn er en populær ZDD-teknikk, som den nye biten er tilpasset den lille kutteren til befolkningen (kalt "grønn"), mens mange grupper ikke kjenner "blå", som har gammel bit. HeldigvisHvis trykket oppstårEndre alle tilbake til "blå", og bare noen få kunder vil bli berørt. Hvis alt ser bra ut på "grønt", trykk sakte fra "blått" til "grønt".

Imidlertid fant jeg ut at den manuelle døren ble brukt på noen måter.De krever at teamet blir godkjent av seg selv. I møtet godkjente komiteen endringen (CAB). Årsaken er at oftere er tolkningen av separasjon av plikter eller separasjon av bekymringer feil.En avdeling videresendt til en annen avdeling for å be om godkjenning for å komme videre.Jeg ser fortsatt at noen CAB -godkjenning viser grunne tekniske forståelser.Om endringene som skjer i selve versjonenNoe som gjør den selvoppnåelsesprosessen tregere og kjedelig

Dette er et godt segment for å fortelle forskjellen mellom kontinuerlig levering og kontinuerlig bruk.Kontinuerlig levering gjør det mulig å gå inn i den manuelle døren.Mens kontinuerlig bruk ikke kan gjøresSelv om begge kalles CDerKontinuerlig brukMå bruke mer disiplin og strenghet fordi det ikke er noen menneskelig inngripen på dette stadiet

Det er forskjell på å bevege seg litt og å snu litt. Kjør røyktester i produksjon Det er en undergruppe av integrasjon, ytelse og sikkerhetstesting. Når røykprøven består Biten åpner seg. Og produktet vil bli utgitt til kundene!

Følgende diagram viser trinnene teamet tar i slu*ttfasen av kontinuerlig levering.

C) Sertifisering av livsoppholdssystemer og/eller systemer i produksjonsmiljøet

ไปป์ไลน์การจัดส่งอย่างต่อเนื่อง 101 | แอตลาสเซียน (3)

Kontinuerlig levering er den nye normalen.

For å lykkes med kontinuerlig levering eller kontinuerlig distribusjon Det er viktig å gjøre god kontinuerlig integrasjon og kontinuerlig testing. Med et solid fundament Du vil vinne på tre fronter:kvalitet,hyppig, ogForutsigelse.

Kontinuerlige leveringsrørledninger hjelper til med å gjøre ideene dine om til produkter gjennom en serie bærekraftige eksperimenter. Hvis du finner ut at ideen din ikke er så god som du trodde Du kan raskt endre ideer for bedre. I tillegg reduserer pipelinen gjennomsnittlig tid til oppløsning (MTTR), noe som reduserer nedetiden for kundene dine. med kontinuerlig levering Du vil ha et produktivt team og fornøyde kunder. Og hvem vil ikke ha det?

Lær mer i vårOpplæring for kontinuerlig levering.

ไปป์ไลน์การจัดส่งอย่างต่อเนื่อง 101 | แอตลาสเซียน (4)

juni Mukherjee

Junie ertenkende borgerI Devsecops -området og har kontinuerlig investert i leveringHun hjalp forskjellige organisasjoner.I konstruksjonen av kontinuerlige leveringsrørOg vil gjerne løse problemer som forstyrrer bransjen vår i dagHun skrev noen få bøker.

Del denne artikkelen

Neste emne

Utplassering fra en filial

Continuous Delivery Pipeline 101 | Atlassian (2024)

References

Top Articles
Latest Posts
Article information

Author: Jamar Nader

Last Updated:

Views: 5640

Rating: 4.4 / 5 (55 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Jamar Nader

Birthday: 1995-02-28

Address: Apt. 536 6162 Reichel Greens, Port Zackaryside, CT 22682-9804

Phone: +9958384818317

Job: IT Representative

Hobby: Scrapbooking, Hiking, Hunting, Kite flying, Blacksmithing, Video gaming, Foraging

Introduction: My name is Jamar Nader, I am a fine, shiny, colorful, bright, nice, perfect, curious person who loves writing and wants to share my knowledge and understanding with you.