aws codebuild tutorial
AWS CodeBuild DevOps-verktøy:
skrive junit test tilfeller i java
I Del 1 av AWS DevOps-verktøyene , vi så hvordan CodeCommit-tjeneste ble brukt til å lagre kildekoden i en sikker online versjonskontrolltjeneste som er en forutsetning for enhver DevOps-implementering.
I Del 2 av serien , vil vi lære mer om hvordan koden fra CodeCommit-depotet kan kompileres på skyen ved hjelp av CodeBuild-tjenesten og ANT eller Maven build-verktøyet.
Foreslått lesing => Absolute DevOps Training Series
Viktigst er det ikke behov for å tilby noen byggeserver. De produserte gjenstandene blir deretter lagret i AWS S3-skuffen, som er en enkel lagringstjeneste for lagring og henting av datamengder på internett. Disse to aktivitetene i begge opplæringene er en del av kontinuerlig integrasjon.
I denne opplæringen vil vi også se hvordan Jenkins kan integreres med CodeBuild.
Forutsetning:
- Kontoer med AWS, helst et gratis nivå.
- God og rask internettforbindelse.
- AWS-regionen brukt - Asia-Stillehavet (Singapore).
Merk: Hvis du har brukt AWS-regionen (Mumbai) for CodeCommit-tjenesten, støttes ikke denne regionen i CodeBuild. Du må bruke riktig region som støttes, og derfor brukes Singapore-regionen her.
Hva du vil lære:
- Bygg prosess i CodeBuild
- Lag Build Project
- Jenkins-integrasjon med AWS CodeBuild
- Sammendrag
- Anbefalt lesing
Bygg prosess i CodeBuild
Følgende er prosessen som følges i bygningen mens du bruker CodeBuild-tjenesten:
- Kildekoden hentes fra CodeCommit-depotet. Kildekoden kan også lagres i GitHub eller til og med en S3-bøtte.
- CodeBuild-tjenesten er avhengig av en fil som heter buildspec.yml som inneholder noen kommandoer som skal kjøres i løpet av byggefasene som Install, Pre-Build, Build og Post-Build. Denne filen må være i ROTEN i prosjektmappen og må være forpliktet til depotet.
- Hvis du ikke vil bruke buildspec.yml for å utføre byggingen, kan maven-kommandoene også brukes direkte.
- Til slutt lagres de genererte gjenstandene som J2EE JAR / WAR / EAR-filen i S3-bøtta.
- Varsler ved hjelp av AWS Simple Notification Service (SNS) kan også konfigureres til å sende build-resultatene til de aktuelle brukerne.
Her vil vi se hvordan du bruker CodeCommit-depotet (se del 1) og maven-kommandoen for å bygge prosjektet vårt og lagre artefakten i S3-bøtta.
Lag Build Project
Logg deg på AWS og start CodeBuild-tjenesten. Klikk for å opprette et nytt byggeprosjekt.
Skriv inn detaljene som følger:
Prosjektnavn: AWS-HelloWorld
Kilde leverandør: AWS CodeCommit
Oppbevaringssted: AWS-HelloWorld
Operativsystem: Ubuntu
Kjøretid: Java
Runtime-versjon: openjdk-8
Byggespesifikasjon: Sett inn byggekommandoer
Bygg kommandoer: mvn ren installasjon
Utdatafiler: Target / AWS-HelloWorld-1.0.0.war (Dette er i et format av Artifact ID-versjon hentet fra POM-filen).
hvordan åpner du en jar-fil
Gjenstander: Hvor skal du legge gjenstandene fra dette byggeprosjektet.
Type: Amazon S3
Navn: HWJavaWebTarget (Dette vil være mappen i bøtta).
Bøtte navn: hwcodebuildbucket (Skuffen må opprettes først før du kjører build og må være i små bokstaver i henhold til konvensjonene).
Følgende tre skjermbilder er fra ett enkelt skjema for å konfigurere byggeprosjektet:
Klikk Fortsett og deretter Lagre. Byggingen kan nå utløses ved å klikke på Start Bygg knapp.
Klikk igjen på Start Bygg for å se fremdriften i utførelsen.
venstre sammenkobling mot venstre ytre sammenkobling
Byggingen er nå fullført, og gjenstandene lastes opp til S3-skuffen.
Utsikt over S3-skuffen
WAR-filen kan nå brukes til distribusjon til de aktuelle applikasjonsserverne.
Jenkins-integrasjon med AWS CodeBuild
Som vi så i veiledningen nr. 1 i denne serien om hvordan Jenkins ble konfigurert med CodeCommit-arkivet for å aktivere kontinuerlig integrasjonsaktivitet. Når versjonskontrollregisteret er konfigurert, kan du nå utløse en build ved å integrere CodeBuild med den samme Jenkins-byggejobben.
AWS CodeBuild-plugin til Jenkins må installeres for integrering. Du kan laste ned og installere den fra her .
Bruk Jenkins => Administrer programtillegg for å installere programtillegget.
Velg AWS CodeBuild som bygningsmiljø og velg riktig CodeBuild-prosjekt konfigurert i AWS som vist nedenfor. IAM-brukerens tilgangsnøkler og hemmelige nøkler må også legges inn som en del av konfigurasjonen.
Nøkkelpunktet som må huskes her er at bygningen ikke har blitt utløst på lokale miljøer, men er gjort på skyen. Så det er ikke nødvendig å etablere noen build-servere.
Sammendrag
Gjennom denne veiledningen fikk vi vite hvordan CodeCommit-depotet kan brukes til å trekke koden og utføre en Maven-bygging ved hjelp av CodeBuild-tjenesten.
Bygningen kan også utløses av Jenkins. Den genererte artefakten, som hovedsakelig er en WAR-fil, lagres deretter i AWS S3-bøtta.
I vår kommende opplæring vil vi se hvordan WAR-filen fra S3-bøtta kan brukes til å distribuere Tomcat-applikasjonsserveren ved hjelp av AWS CodeDeploy-tjenesten.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- In-Depth Eclipse Tutorials For Beginners
- Bruk av Maven Build Automation Tool og Maven Project Setup for Selenium - Selen Tutorial # 24
- SVN Tutorial: Source Code Management Using Subversion
- Tortoise SVN Tutorial: Revisions In Code Repository
- Topp AWS DevOps-verktøy for skybygging og distribusjon
- AWS Elastic Beanstalk Tutorial for Deploying .NET Web Application
- AWS CodeCommit Tutorial for DevOps Implementation in Cloud
- Bygg applikasjon med én side ved hjelp av AngularJS (veiledning med eksempel)