top aws devops tools
Najboljša orodja za razvijanje Amazon AWS DevOps: cevovod , repozitorij izvorne kode, gradnja in uvajanje s spletnimi storitvami Amazon
Ko sem začel svojo poklicno kariero približno 20 let nazaj, je bilo treba zagotoviti infrastrukturo (programsko in strojno opremo) za kakršen koli razvoj in uvajanje.
To je vključevalo oddajo naročila pri prodajalcu za strežnike, čakanje na določen čas, da ga dobi, po dostavi strežniškega prostora je bilo treba rezervirati, namestitev strežnika, operacijski sistem, konfiguracijo pomnilnika itd. zmogljivost, razpoložljivost (24 * 7), vzdrževanje, omrežje itd.
To je bilo preveč napora pri vzpostavljanju strežnika za dejavnosti razvoja in uvajanja aplikacij.
Kaj se boste naučili:
- Razvoj računalništva v oblaku
- Izdelava in razmestitev z uporabo orodij AWS
- Jenkinsova integracija s storitvami AWS
- Priporočeno branje
Razvoj računalništva v oblaku
Stvari so se morale spremeniti z razvojem računalništva v oblaku, kar pomeni, da do vseh svojih aplikacij in baz podatkov dostopate prek interneta. Ponudniki računalništva v oblaku torej vzdržujejo vso strojno opremo, potrebno za zagon vaše spletne aplikacije.
Vsi viri z ustrezno konfiguracijo, ki jih potrebujete za gostovanje aplikacije, so na voljo s klikom. Čas se drastično skrajša za dajanje virov na voljo razvijalcem. Najpomembneje je, da plačate samo tisto, kar morate uporabiti.
Razvijalci, ki uporabljajo storitve v oblaku, se osredotočajo le na to, kaj potrebujejo za delo na naših projektih, in ne na skrb glede razpoložljivosti infrastrukture. Ne ukvarjam se z vrstami računalništva v oblaku (IaaS, PaaS, SaaS), po internetu je na voljo ogromno informacij, ki opisujejo, kaj so.
Ponudnikov v oblaku je veliko. Toda 3 najbolj priljubljene, s katerimi sem delal, so:
- Spletne storitve Amazon
- Microsoft Azure
- Google Cloud
V tem poglavju se bom osredotočil na orodja za cevovod , repozitorij izvorne kode, gradnja in uvajanje s Spletne storitve Amazon . Da ne pozabimo, da ekipe še vedno uporabljajo orodja DevOps, kot so Jenkins, Git, Maven in druga.
Zato je nujno, da čeprav bodo ekipe morda želele svoja sredstva in predmete premakniti v oblačno infrastrukturo, moramo tudi čim bolj povečati njihove obstoječe naložbe v orodja in podatke z integracijami / migracijami.
Kliknite tukaj izvedeti več o AWS in različnih storitvah za arhitekte, razvijalce in SysOPS. Za omenjena orodja bomo uporabili brezplačni račun, seveda pa boste morali v proizvodnem okolju zagotoviti storitve za uporabo.
Izdelava in razmestitev z uporabo orodij AWS
Z vidika gradnje in razmestitve bomo preučili naslednje storitve AWS
kaj je omrežni varnostni ključ za brezžično povezavo
- AWS CodePipeline
- AWS CodeCommit
- AWS CodeBuild
- AWS CodeDeploy
1. AWS CodePipeline
AWS CodePipeline je podoben cevovodu Jenkins, ki pomaga imeti vizualni pogled na postopek dostave od konca do konca.
Torej boste v CodePipeline običajno nastavili naslednje
- Repozitorij izvorne kode - Torej mora biti vaša izvorna koda v AWS CodeCommit ali v skladišču GitHub.
- Build Service - Podrobnosti AWS CodeBuild bodo konfigurirane kot del cevovoda.
- Razporeditev - AWS CodeDeploy bo konfiguriran v cevovod.
- Med postopkom uvajanja v različna okolja, če so potrebna kakršna koli dovoljenja, jih je mogoče tudi konfigurirati
Torej, če razvijalec spremeni kodo, je videti, da je vizualna predstavitev Build and Deploy avtomatizirana.
Konfiguracija repozitorija izvorne kode v AWS CodePipeline

Konfiguracija gradnje v AWS CodePipeline, ki uporablja Maven build

Konfiguracija razmestitve v AWS CodePipeline

Popolna izvedba je prikazana v AWS CodePipeline

2. Odbor za kodo AWS
AWS CodeCommit je varna spletna storitev za nadzor različic, ki gosti zasebne repozitorije Git. Skupini ni treba vzdrževati lastnega repozitorija za nadzor različic, temveč uporablja AWS CodeCommit za shranjevanje izvorne kode ali celo binarnih datotek, kot so datoteke WAR / JAR / EAR, ustvarjene iz gradnje.
Z AWS CodeCommit ustvarite repozitorij in vsak razvijalec ga bo kloniral v svoj lokalni računalnik, mu dodal datoteke in ga potisnil nazaj v repozitorij AWS CodeCommit. Eden uporablja standardne ukaze GIT s skladiščem AWS CodeCommit.
Za Npr. ko je repozitorij AWS CodeCommit kloniran v lokalni računalnik, boste uporabili ukaze, kot so 'git pull', 'git add', 'git commit', 'git push' itd.
Ilustrativna AWS CodeCommit je ustvaril prazen repozitorij

Klonirajte repozitorij na lokalni računalnik

Datoteke, dodane v repozitorij AWS CodeCommit

3. AWS CodeBuild
Kot smo videli, so izvorna koda in drugi artefakti projekta shranjeni v repozitoriju AWS CodeCommit.
Za izvajanje neprekinjene integracije AWS CodeBuild, kot je Jenkins, pridobi najnovejše spremembe izvorne kode iz AWS CodeCommit ali repozitorija GitHub, kot je konfigurirano in temelji na specifikaciji gradnje Datoteka YAML (ustvarjeni kot buildspec.yml) se ukazi izvajajo na podlagi štirih faz, kot so Install, Pre-build, Build in Post-build.
Ko je gradnja končana, se artefakti (WAR / ZIP / JAR / EAR) shranijo v shrambo AWS, ki je vedro S3.
Vzorčna datoteka buildspec.yml
version: 0.2 phases: install: commands: - echo Nothing in the install phase... pre_build: commands: - echo Nothing in the pre_build phase... build: commands: - echo Build started on `date` - mvn clean install post_build: commands: - echo Build completed on `date` artifacts: files: - target/HelloWorld-Maven.war Vzorec projekta AWS Codebuild

Gradite uspeh

Artefakt (datoteka WAR) kopiran v vedro S3

4. AWS CodeDeploy
Kot že ime pove, je AWS Codedeploy storitev uvajanja, ki avtomatizira uvajanje aplikacije (v tem primeru datoteke WAR) na primere Amazon EC2 Linux ali Windows.
Ker imamo zdaj artefakte shranjene v vedru S3, ki je bil dokončan z uporabo AWS CodeBuild, se artefakti nato poberejo iz vedra S3 in se primerno namestijo na strežnik aplikacij Tomcat ali JBoss itd. V določitvi primerka AWS EC2.
AWS CodeDeploy je odvisen od datoteke YAML, imenovane appspec.yml, ki vsebuje navodila za razmestitev na primerke EC2.
Vzorčna datoteka appspec.yml, kjer se datoteka index.html kopira in razporedi na strežnik Apache
version:10.0 os:linux files: -source: /opt/deploy/index.html destination:/var/www/html/ hooks: BeforeInstall: -location:scripts/before_install runas:niranjan AfterInstall: -location:scripts/restart_server runas:niranjanpred_instalacijo skripta

restart_server skripta

GitHub repo vseh datotek, potrebnih za zagon AWS CodeDeploy

Izvajanje razmestitve v AWS CodeDeploy

Jenkinsova integracija s storitvami AWS
Kot smo že omenili, danes ekipe Jenkinsa uporabljajo kot orodje defacto CI in v večini primerov se ne bi radi oddaljili od njega, temveč se integrirajo s storitvami AWS, o katerih smo razpravljali. Čeprav gre za določene postopke in sem pokazal posnetke zaslona integracije.
1. Jenkinsova integracija z AWS CodeCommit

2. Jenkinsova integracija z AWS CodeBuild


3. Jenkinsova integracija z AWS CodeDeploy


Vse skupaj za AWS DevOps Stack:
Sklad spodaj prikazuje storitve AWS, ki so obravnavane zgoraj.

Upam, da je ta vadnica o, orodja za cevovod , repozitorij izvorne kode, gradnja in uvajanje s spletnimi storitvami Amazon vam je bilo v pomoč.
Priporočeno branje
- Vadnica AWS CodeCommit za izvajanje DevOps v oblaku
- Delo na orodju AWS CodeDeploy DevOps za samodejno uvajanje
- Neprekinjena razmestitev v DevOps
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Vadnica za AWS CodeBuild: Izvlečenje kode iz Maven Build
- Neprekinjena dostava v DevOps
- 10 NAJBOLJŠIH orodij za nadzor v oblaku za popolno upravljanje oblakov
- Neprekinjeno testiranje v DevOps