aws codebuild tutorial
Instrumentul AWS CodeBuild DevOps:
care este cel mai bun software de dezvoltare a aplicațiilor
În Partea 1 a instrumentelor AWS DevOps , am văzut cum Serviciu CodeCommit a fost folosit pentru a stoca codul sursă într-un serviciu securizat de control al versiunilor online, care este o condiție prealabilă pentru orice implementare DevOps.
În Partea 2 a seriei , vom afla mai multe despre modul în care codul din depozitul CodeCommit poate fi compilat pe cloud folosind serviciul CodeBuild și utilitarul de construcție ANT sau Maven.
Lectură sugerată => Absolute DevOps Training Series
Cel mai important, nu este nevoie să furnizați niciun server de construire. Artefactele produse sunt apoi stocate în cupa AWS S3, care este un serviciu simplu de stocare pentru stocarea și recuperarea oricărei cantități de date pe internet. Aceste 2 activități din ambele tutoriale fac parte din integrarea continuă.
În acest tutorial, vom vedea, de asemenea, modul în care Jenkins poate fi integrat cu CodeBuild.
Pre-cerință:
- Contați AWS, de preferință un nivel gratuit.
- Conexiune bună și rapidă la internet.
- Regiunea AWS utilizată - Asia Pacific (Singapore).
Notă: Dacă ați utilizat regiunea AWS (Mumbai) pentru serviciul CodeCommit, atunci această regiune nu este acceptată în CodeBuild. Trebuie să utilizați regiunea adecvată acceptată și, prin urmare, regiunea Singapore este utilizată aici.
Ce veți învăța:
- Construiți procesul în CodeBuild
- Creați proiectul de construire
- Integrarea Jenkins cu AWS CodeBuild
- rezumat
- Lectură recomandată
Construiți procesul în CodeBuild
Urmează procesul care este urmat în compilare în timp ce se utilizează serviciul CodeBuild:
- Codul sursă este preluat din depozitul CodeCommit. Codul sursă poate fi stocat și în GitHub sau chiar într-o bucket S3.
- Serviciul CodeBuild se bazează pe un fișier numit buildspec.yml care conține câteva comenzi pentru a rula în timpul fazelor de construcție, cum ar fi Instalare, Pre-Build, Build și Post-Build. Acest fișier trebuie să se afle în RĂDĂCINA folderului proiectului și trebuie să fie trimis către depozit.
- Dacă în cazul în care nu doriți să utilizați buildspec.yml pentru a efectua construirea, comenzile maven pot fi de asemenea utilizate direct.
- În cele din urmă, artefactele generate, cum ar fi fișierul J2EE JAR / WAR / EAR, sunt stocate în cupa S3.
- Notificările care utilizează AWS Simple Notification Service (SNS) pot fi, de asemenea, configurate pentru a trimite prin e-mail rezultatele compilării către utilizatorii relevanți.
Aici, vom vedea cum să folosim depozitul CodeCommit (consultați partea 1) și comanda maven pentru a construi proiectul nostru și a stoca artefactul în bucket-ul S3.
Creați proiectul de construire
Conectați-vă la AWS și lansați serviciul CodeBuild. Faceți clic pentru a crea un nou proiect Build.
Introduceți detaliile după cum urmează:
Denumirea proiectului: AWS-HelloWorld
Furnizor sursă: AWS CodeCommit
Repertoriu: AWS-HelloWorld
Sistem de operare: Ubuntu
Runtime: Java
Ripper DVD gratuit pentru Windows 8
Versiune Runtime: openjdk-8
Specificații de construcție: Inserați comenzi de construire
Comenzi de construire: mvn instalare curată
Fișiere de ieșire: Țintă / AWS-HelloWorld-1.0.0.war (Acesta este într-un format de Artifact ID-Version preluat din fișierul POM).
Artefacte: Unde să puneți artefactele din acest proiect de construcție.
Tip: Amazon S3
Nume: HWJavaWebTarget (Acesta va fi dosarul din bucket).
Numele cupei: hwcodebuildbucket (Bucket-ul trebuie creat inițial înainte de a rula build-ul și trebuie să fie în minusculă conform convențiilor).
Următoarele 3 capturi de ecran sunt dintr-un singur formular pentru a configura proiectul de construire:
Clic Continuați și apoi Salvați. Construirea poate fi acum declanșată făcând clic pe Porniți Build buton.
eșantion de document de plan de testare pentru aplicația mobilă
Faceți din nou clic pe Porniți Build pentru a vizualiza progresul execuției.
Construcția este finalizată cu succes și artefactele sunt încărcate în cupa S3.
Vizualizarea cupei S3
Fișierul WAR poate fi utilizat acum pentru implementare pe serverele de aplicații corespunzătoare.
Integrarea Jenkins cu AWS CodeBuild
După cum am văzut în tutorialul nr. 1 al acestei serii despre modul în care Jenkins a fost configurat cu depozitul CodeCommit pentru activarea activității de integrare continuă. Deoarece depozitul de control al versiunii este configurat, acum puteți declanșa o compilare integrând CodeBuild cu același job de construcție Jenkins.
Pentru integrare, trebuie instalat pluginul AWS CodeBuild pentru Jenkins. O puteți descărca și instala de la Aici .
Utilizați Jenkins => Gestionați pluginurile pentru a instala pluginul.
Selectați AWS CodeBuild ca mediu de construire și selectați proiectul CodeBuild adecvat configurat în AWS așa cum se arată mai jos. Cheile de acces ale utilizatorului IAM și cheile secrete vor trebui, de asemenea, să fie introduse ca parte a configurației.
Punctul cheie care trebuie amintit aici este că construirea nu a fost declanșată în mediile locale, ci se face pe cloud. Deci, nu este nevoie să provizioneze servere de construire.
rezumat
Prin acest tutorial, am aflat cum poate fi utilizat depozitul CodeCommit pentru a extrage codul și a realiza o construcție Maven folosind serviciul CodeBuild.
Construirea poate fi declanșată și de Jenkins. Artefactul generat, care este în principal un fișier WAR, este apoi stocat în cupa AWS S3.
În viitorul nostru tutorial, vom vedea cum fișierul WAR din bucket-ul S3 poate fi utilizat pentru a implementa serverul de aplicații Tomcat folosind serviciul AWS CodeDeploy.
Lectură recomandată
- Tutoriale detaliate pentru eclipsă pentru începători
- Utilizarea instrumentului de automatizare Maven Build și configurarea proiectului Maven pentru Selenium - Tutorial Selenium # 24
- Tutorial SVN: Gestionarea codului sursă folosind Subversion
- Tutorial SVN Tortoise: Revizuiri în depozitul de coduri
- Cele mai importante instrumente AWS DevOps pentru Cloud Build și implementare
- Tutorial AWS Elastic Beanstalk pentru implementarea aplicației web .NET
- Tutorial AWS CodeCommit pentru implementarea DevOps în cloud
- Construiți o aplicație cu o singură pagină utilizând AngularJS (Tutorial cu exemplu)