top aws devops tools
Bedste Amazon AWS DevOps-værktøjer: En pipeline , kildekodelager, opbygning og implementering med Amazon Web Services
Da jeg startede min softwarekarriere omkring 20+ år tilbage, måtte infrastrukturen (software og hardware) til enhver form for udvikling og implementering anskaffes.
Dette omfattede at placere en ordre hos leverandøren af servere, vente på en vis tid på at få det samme, når leveret serverplads skulle reserveres, installation af server, operativsystem, lagerkonfiguration osv. Vi måtte også være bekymrede for ydelse, tilgængelighed (24 * 7), vedligeholdelse, netværk osv.
Dette var for meget indsats involveret i at opdrage en server til aktiviteter med udvikling og implementering af applikationer.
Hvad du lærer:
- Udvikling af Cloud Computing
- Byg og implementering ved hjælp af AWS-værktøjer
- Jenkins-integration med AWS-tjenester
- Anbefalet læsning
Udvikling af Cloud Computing
Ting måtte ændres med udviklingen af Cloud Computing, hvilket betyder, at du får adgang til alle dine applikationer og databaser over internettet. Så Cloud Computing-udbydere vedligeholder al den hardware, der er nødvendig for at køre din webapplikation.
Alle ressourcer med en passende konfiguration, som du har brug for for at være vært for din applikation, er tilgængelige inden for et klik. Tiden reduceres drastisk for at stille ressourcerne til rådighed for udviklere. Vigtigst er det, at du kun betaler for det, du har brug for.
Fokus for udviklere, der bruger Cloud-baserede tjenester, er kun på, hvad de har brug for for at arbejde på vores projekter og ikke at bekymre sig om tilgængelighed af infrastruktur. Jeg kommer ikke ind i typer cloud computing (IaaS, PaaS, SaaS), der er masser af information tilgængelig over internettet for at beskrive, hvad de er.
Der er mange skyudbydere. Men de 3 mest populære, som jeg har arbejdet med, er:
- Amazon Web Services
- Microsoft Azure
- Google Cloud
I dette afsnit vil jeg fokusere på værktøjer til en rørledning , kildekodelager, opbygning og implementering med Amazon Web Services . For ikke at glemme, at hold stadig bruger DevOps-værktøjer som Jenkins, Git, Maven og andre.
Så det er bydende nødvendigt, at selvom hold måske ønsker at flytte deres aktiver og artefakter til cloudinfrastruktur, er vi også nødt til at maksimere deres eksisterende investeringer i værktøjer og data med integrationer / migreringer så vidt muligt.
Klik på her at lære om AWS og de forskellige tjenester til arkitekter, udviklere og SysOPS. Vi bruger den gratis konto til de nævnte værktøjer, men i et produktionsmiljø skal du selvfølgelig købe tjenesterne til brug.
Byg og implementering ved hjælp af AWS-værktøjer
Fra et Build and Deployment-synspunkt vil vi se på følgende AWS-tjenester
bedste gendannelsessoftware til Windows 10
- AWS CodePipeline
- AWS CodeCommit
- AWS CodeBuild
- AWS CodeDeploy
1. AWS CodePipeline
AWS CodePipeline svarer til Jenkins Pipeline, som hjælper med at få et visuelt billede af slut-til-slut-leveringsprocessen.
Så i en CodePipeline konfigurerer du typisk følgende
- Kildekodelager - Så din kildekode skal enten være i AWS CodeCommit eller GitHub repository.
- Byg service - AWS CodeBuild detaljer vil blive konfigureret som en del af rørledningen.
- Indsætte - AWS CodeDeploy konfigureres i rørledningen.
- Under implementeringsprocessen til forskellige miljøer, hvis der kræves godkendelser, kan de også konfigureres
Så hvis der er en kodeændring af udvikleren, kan den visuelle repræsentation af Build and Deploy ses som automatiseret.
Konfiguration af kildekodelager i AWS CodePipeline
Byg konfiguration i AWS CodePipeline, der bruger Maven build
Implementeringskonfiguration i AWS CodePipeline
Komplet udførelse ses i AWS CodePipeline
2. AWS CodeCommit
AWS CodeCommit er en sikker online versionskontroltjeneste, der er vært for private Git-arkiver. Et team behøver ikke at opretholde deres eget versionskontrollager i stedet for at bruge AWS CodeCommit til at gemme deres kildekode eller endda binære filer som WAR / JAR / EAR-filer genereret ud af buildet.
Med AWS CodeCommit opretter du et lager, og hver udvikler kloner det til deres lokale maskine, tilføjer filer til det og skubber det tilbage til AWS CodeCommit-lageret. Man bruger standard GIT-kommandoer med AWS CodeCommit-arkivet.
Til For eksempel. når først AWS CodeCommit-arkivet er klonet til lokal maskine, bruger du kommandoer som 'git pull', 'git add', 'git commit', 'git push' osv ..
Illustrativ AWS-kode Oprettet tomt lager
Klon lageret til den lokale maskine
Filer tilføjet til AWS CodeCommit-lageret
3. AWS CodeBuild
Som vi har set, lagres kildekoden og andre projektartefakter i AWS CodeCommit-arkivet.
At implementere kontinuerlig integration AWS CodeBuild som Jenkins henter de seneste ændringer af kildekoden fra AWS CodeCommit eller GitHub-arkivet som konfigureret og baseret på build-specifikationen YAML-fil (oprettet som buildspec.yml) køres kommandoerne baseret på de fire faser som Install, Pre-build, Build og Post-build.
Når build er afsluttet, gemmes artefakterne (WAR / ZIP / JAR / EAR) i AWS Storage, som er en S3-spand.
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-kodebygningsprojekt
Byg succes
Artefakt (WAR-fil) kopieret til S3-spand
4. AWS CodeDeploy
Som navnet antyder er AWS Codedeploy implementeringstjenesten, der automatiserer implementeringen af applikationen (i dette tilfælde WAR-fil) til Amazon EC2 Linux- eller Windows-forekomster.
Da vi nu har artefakterne gemt i S3-spand, der blev afsluttet ved hjælp af AWS CodeBuild, bliver artefakterne derefter hentet fra S3-spanden og distribueret passende til appserveren Tomcat eller JBoss osv. I AWS EC2-tilvejebringelse af instanser.
AWS CodeDeploy afhænger af en YAML-fil kaldet appspec.yml, som har instruktioner om implementering til EC2-forekomsterne.
Eksempel på appspec.yml-fil, hvor 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_install manuskript
genstart_server manuskript
GitHub repo af alle filer, der er nødvendige for at køre AWS CodeDeploy
Implementering i AWS CodeDeploy
Jenkins-integration med AWS-tjenester
Som nævnt tidligere bruger team i dag Jenkins meget som defacto CI-værktøjet, og i de fleste tilfælde vil de ikke rigtig gerne bevæge sig væk fra det, men snarere integrere med de AWS-tjenester, som vi diskuterede. Mens der er visse procedurer involveret, og jeg har vist skærmbilleder af integrationen.
1. Jenkins integration med AWS CodeCommit
2. Jenkins integration med AWS CodeBuild
3. Jenkins integration med AWS CodeDeploy
At sætte det hele sammen til AWS DevOps Stack:
Stakken ser nedenfor efter de AWS-tjenester, der er beskrevet ovenfor.
Håber denne tutorial på, værktøjer til en rørledning , kildekodelager, opbygning og implementering med Amazon Web Services, var nyttigt for dig.
Anbefalet læsning
- AWS CodeCommit-vejledning til DevOps-implementering i Cloud
- Arbejde med AWS CodeDeploy DevOps-værktøj til automatiseret implementering
- Kontinuerlig implementering i DevOps
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- AWS CodeBuild-vejledning: Uddrag af kode fra Maven Build
- Kontinuerlig levering i DevOps
- 10 BEDSTE skyovervågningsværktøjer til perfekt cloud management
- Kontinuerlig test i DevOps