top aws devops tools
Beste Amazon AWS DevOps-verktøy: En rørledning , kildekodedepot, bygge og distribuere med Amazon Web Services
Da jeg startet programvarekarrieren rundt 20 år tilbake i tid, måtte infrastrukturen (programvare og maskinvare) skaffes til enhver form for utvikling og distribusjon.
Dette inkluderte bestilling av servere hos leverandøren, venting på en viss tid på å få det samme, når den leverte serverplassen måtte reserveres, installasjon av serveren, operativsystem, lagringskonfigurasjon osv. Vi måtte også være bekymret for ytelse, tilgjengelighet (24 * 7), vedlikehold, nettverk etc.
Dette var for mye innsats involvert i å få opp en server for aktiviteter for utvikling og distribusjon av applikasjoner.
Hva du vil lære:
- Utvikling av Cloud Computing
- Bygg og distribusjon ved hjelp av AWS-verktøy
- Jenkins-integrasjon med AWS-tjenester
- Anbefalt lesing
Utvikling av Cloud Computing
Ting måtte endres med utviklingen av Cloud Computing, noe som betyr at du får tilgang til alle applikasjonene og databasene dine over internett. Så Cloud Computing-leverandører vedlikeholder all maskinvaren som er nødvendig for å kjøre webapplikasjonen.
Alle ressursene med en passende konfigurasjon som du trenger for å være vert for søknaden din, er tilgjengelige med et enkelt klikk. Tiden er drastisk redusert for å gjøre ressursene tilgjengelig for utviklere. Viktigst, du betaler bare for det du trenger å bruke.
Fokuset for utviklere som bruker skybaserte tjenester, er bare på det de trenger for å jobbe med prosjektene våre og ikke å bekymre seg for tilgjengeligheten av infrastruktur. Jeg kommer ikke inn på typer cloud computing (IaaS, PaaS, SaaS), det er mange informasjon tilgjengelig over internett for å beskrive hva de er.
Det er mange skyleverandører. Men de 3 mest populære jeg har jobbet med er:
- Amazon Web Services
- Microsoft Azure
- Google Cloud
I denne delen vil jeg sette fokus på verktøy for en rørledning , kildekodedepot, bygge og distribuere med Amazon Web Services . For ikke å glemme at lag fortsatt bruker DevOps-verktøy som Jenkins, Git, Maven og andre.
Så det er viktig at team kan ønske å flytte sine eiendeler og gjenstander til skyinfrastruktur, men at vi også trenger å maksimere deres eksisterende investeringer i verktøy og data med integrasjoner / migrasjoner så langt som mulig.
Klikk her for å lære om AWS og de ulike tjenestene for arkitekter, utviklere og SysOPS. Vi bruker den gratis kontoen for de nevnte verktøyene, men selvfølgelig, i et produksjonsmiljø, må du skaffe tjenestene for bruk.
Bygg og distribusjon ved hjelp av AWS-verktøy
Fra et bygg- og distribusjonsperspektiv vil vi se på følgende AWS-tjenester
hvordan få hurtigbøker gratis
- AWS CodePipeline
- AWS CodeCommit
- AWS CodeBuild
- AWS CodeDeploy
1. AWS CodePipeline
AWS CodePipeline ligner på Jenkins Pipeline, som hjelper deg med å få et visuelt syn på levering til slutt til slutt.
Så i en CodePipeline vil du vanligvis konfigurere følgende
- Kildekodedepot - Så kildekoden din må enten være i AWS CodeCommit eller GitHub repository.
- Bygg service - AWS CodeBuild detaljer vil bli konfigurert som en del av rørledningen.
- Utplassere - AWS CodeDeploy vil bli konfigurert i rørledningen.
- Under implementeringsprosessen til forskjellige miljøer, hvis det er behov for godkjenninger, kan de også konfigureres
Så hvis det er en kodeendring av utvikleren, kan den visuelle representasjonen av Build and Deploy sees å være automatisert.
Konfigurasjon av kildekodedepot i AWS CodePipeline
Bygg konfigurasjon i AWS CodePipeline som bruker Maven build
Implementeringskonfigurasjon i AWS CodePipeline
Komplett utførelse sees i AWS CodePipeline
2. AWS CodeCommit
AWS CodeCommit er en sikker online versjonskontrolltjeneste som er vert for private Git-arkiver. Et team trenger ikke å opprettholde sitt eget versjonskontrolllager i stedet for at de bruker AWS CodeCommit til å lagre kildekoden eller til og med binære filer som WAR / JAR / EAR-filer generert ut av bygningen.
Med AWS CodeCommit oppretter du et depot, og hver utvikler vil klone det til sin lokale maskin, legge til filer i det og skyve det tilbake til AWS CodeCommit-depotet. Man bruker standard GIT-kommandoer med AWS CodeCommit repository.
Til F.eks. Når AWS CodeCommit-depotet er klonet til lokal maskin, vil du bruke kommandoer som 'git pull', 'git add', 'git commit', 'git push' osv ..
Illustrerende AWS-kode Opprett tomt lager
Klon depotet til den lokale maskinen
Filer lagt til i AWS CodeCommit repository
3. AWS CodeBuild
Som vi har sett, er kildekoden og andre prosjektgjenstander lagret i AWS CodeCommit repository.
For å implementere kontinuerlig integrering AWS CodeBuild som Jenkins henter de siste endringene av kildekoden fra AWS CodeCommit eller GitHub-arkivet som konfigurert og basert på byggespesifikasjonen YAML-fil (opprettet som buildspec.yml) kjøres kommandoene basert på de fire fasene som Install, Pre-build, Build og Post-build.
Når bygningen er fullført, blir gjenstandene (WAR / ZIP / JAR / EAR) lagret i AWS-lagringen, som er en S3-bøtte.
Eksempel på buildspec.yml-fil
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
Eksempel på AWS Codebuild-prosjekt
Bygg suksess
Artefakt (WAR-fil) kopieres til S3-bøtte
4. AWS CodeDeploy
Som navnet antyder, er AWS Codedeploy distribusjonstjenesten som automatiserer distribusjonen av applikasjonen (i dette tilfellet WAR-fil) til Amazon EC2 Linux- eller Windows-forekomster.
Siden vi nå har gjenstandene som er lagret i S3-bøtte, som ble fullført ved hjelp av AWS CodeBuild, blir artefaktene deretter hentet fra S3-bøtta og distribuert på riktig måte til app-serveren Tomcat eller JBoss etc. i AWS EC2-forsyningsklarering.
AWS CodeDeploy avhenger av en YAML-fil kalt appspec.yml som har instruksjoner om distribusjon til EC2-forekomster.
Eksempel på appspec.yml-fil der index.html-filen kopieres og distribueres til Apache-serveren
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:niranjan
før_installere manus
restart_server manus
GitHub repo av alle filer som trengs for å kjøre AWS CodeDeploy
Implementering av implementering i AWS CodeDeploy
Jenkins-integrasjon med AWS-tjenester
Som nevnt tidligere, i dag bruker team Jenkins mye som defacto CI-verktøyet, og i de fleste tilfeller vil de ikke virkelig gå bort fra det, men heller integrere med AWS-tjenestene som vi diskuterte. Selv om det er visse prosedyrer involvert, og jeg har vist skjermbilder av integrasjonen.
1. Jenkins-integrasjon med AWS CodeCommit
2. Jenkins-integrasjon med AWS CodeBuild
3. Jenkins-integrasjon med AWS CodeDeploy
Sette det hele sammen for AWS DevOps Stack:
Stabelen ser nedenfor for AWS-tjenestene som er diskutert ovenfor.
Håper denne opplæringen på, verktøy for en rørledning , kildekodedepot, bygge og distribuere med Amazon Web Services, var nyttig for deg.
Anbefalt lesing
- AWS CodeCommit Tutorial for DevOps Implementation in Cloud
- Arbeider med AWS CodeDeploy DevOps Tool for Automated Deployment
- Kontinuerlig distribusjon i DevOps
- Beste verktøy for testing av programvare 2021 [QA Test Automation Tools]
- AWS CodeBuild Tutorial: Pakke ut kode fra Maven Build
- Kontinuerlig levering i DevOps
- 10 BESTE Cloud Monitoring Tools for Perfect Cloud Management
- Kontinuerlig testing i DevOps