aws codebuild tutorial
Eina DevOps AWS CodeBuild:
com es crea un tauler de control de jira
En Primera part de les eines AWS DevOps , vam veure com Servei CodeCommit es va utilitzar per emmagatzemar el codi font en un servei de control de versions en línia segur que és un requisit previ per a qualsevol implementació de DevOps.
En Part 2 de la sèrie , obtindrem més informació sobre com es pot compilar el codi del repositori CodeCommit al núvol mitjançant el servei CodeBuild i la utilitat de compilació ANT o Maven.
Lectura suggerida => Sèrie d'entrenament de DevOps absoluta
El més important és que no cal proporcionar cap servidor de compilació. Els artefactes produïts s’emmagatzemen al dipòsit AWS S3, que és un servei d’emmagatzematge senzill per emmagatzemar i recuperar qualsevol quantitat de dades a Internet. Aquestes 2 activitats dels dos tutorials formen part de la integració contínua.
En aquest tutorial, també veurem com Jenkins es pot integrar amb CodeBuild.
Prerequisit:
- Compteu amb AWS preferiblement un nivell gratuït.
- Connexió a Internet bona i ràpida.
- Regió AWS utilitzada: Àsia Pacífic (Singapur).
Nota: Si heu utilitzat la regió AWS (Mumbai) per al servei CodeCommit, aquesta regió no s'admet al CodeBuild. Heu d’utilitzar la regió adequada compatible i, per tant, la regió de Singapur s’utilitza aquí.
Què aprendreu:
- Construeix el procés a CodeBuild
- Crea un projecte de compilació
- Integració de Jenkins amb AWS CodeBuild
- Resum
- Lectura recomanada
Construeix el procés a CodeBuild
A continuació es mostra el procés que es segueix a la compilació mentre s’utilitza el servei CodeBuild:
- El codi font s’obté des del repositori CodeCommit. El codi font també es pot emmagatzemar al GitHub o fins i tot a un dipòsit S3.
- El servei CodeBuild es basa en un fitxer anomenat buildspec.yml que conté algunes ordres per executar durant les fases de compilació, com ara Instal·lar, Pre-Construir, Construir i Post-Construir. Aquest fitxer ha d’estar a l’arrel de la carpeta del projecte i s’ha de dedicar al dipòsit.
- Si no voleu fer servir el fitxer buildspec.yml per realitzar la compilació, també es poden utilitzar directament les ordres maven.
- Finalment, els artefactes generats com el fitxer J2EE JAR / WAR / EAR s’emmagatzemen al dipòsit S3.
- Les notificacions que fan servir el Servei de notificacions senzilles d'AWS (SNS) també es poden configurar per enviar per correu electrònic els resultats de la compilació als usuaris rellevants.
Aquí, veurem com utilitzar el repositori CodeCommit (consulteu la part 1) i l’ordre maven per construir el nostre projecte i emmagatzemar l’artefacte al dipòsit S3.
Crea un projecte de compilació
Inicieu sessió a AWS i inicieu el servei CodeBuild. Feu clic per crear un projecte de compilació nou.
Introduïu les dades de la següent manera:
Nom del projecte: AWS-HelloWorld
Proveïdor d'origen: AWS CodeCommit
Dipòsit: AWS-HelloWorld
Sistema operatiu: Ubuntu
Temps d'execució: Java
avantatges de Linux sobre Windows 10
Versió en temps d'execució: openjdk-8
Especificació de compilació: Inseriu ordres de construcció
Ordres de compilació: mvn clean install
Fitxers de sortida: Target / AWS-HelloWorld-1.0.0.war (es troba en un format d'Artifact ID-Version extret del fitxer POM).
Artefactes: On col·locar els artefactes d’aquest projecte de construcció.
Tipus: Amazon S3
Nom: HWJavaWebTarget (Aquesta serà la carpeta del dipòsit).
Nom de la galleda: hwcodebuildbucket (El dipòsit s'ha de crear inicialment abans d'executar la compilació i ha d'estar en minúscula segons les convencions).
Les següents tres captures de pantalla provenen d’un sol formulari per configurar el projecte de construcció:
Feu clic a Continueu i deseu. Ara es pot activar la construcció fent clic a Comenceu a construir botó.
com obrir un fitxer binari a Windows
Feu clic de nou al fitxer Comenceu a construir per veure el progrés de l'execució.
La compilació s'ha completat correctament i els artefactes es carreguen al dipòsit S3.
Vista del cub S3
Ara el fitxer WAR es pot utilitzar per al desplegament als servidors d'aplicacions adequats.
Integració de Jenkins amb AWS CodeBuild
Com hem vist al tutorial núm. 1 d'aquesta sèrie sobre com es va configurar Jenkins amb el repositori CodeCommit per habilitar l'activitat d'integració contínua. A mesura que es configura el dipòsit de control de versions, ara podeu activar una compilació integrant CodeBuild amb el mateix treball de generació de Jenkins.
Cal integrar el connector AWS CodeBuild a Jenkins. Podeu descarregar-lo i instal·lar-lo des de aquí .
Utilitzeu Jenkins => Gestiona els connectors per instal·lar el connector.
Seleccioneu AWS CodeBuild com a entorn de construcció i seleccioneu el projecte CodeBuild adequat configurat a AWS com es mostra a continuació. També caldrà introduir les claus d'accés de l'usuari IAM i les claus secretes com a part de la configuració.
El punt clau que cal recordar aquí és que la construcció no s’ha activat als entorns locals sinó que es fa al núvol. Per tant, no cal subministrar cap servidor de compilació.
Resum
A través d’aquest tutorial, vam conèixer com es pot fer servir el dipòsit CodeCommit per extreure el codi i realitzar una compilació de Maven mitjançant el servei CodeBuild.
Jenkins també pot activar la construcció. L'artefacte generat, que és principalment un fitxer WAR, s'emmagatzema al dipòsit AWS S3.
Al nostre proper tutorial, veurem com es pot utilitzar el fitxer WAR del dipòsit S3 per desplegar el servidor d'aplicacions Tomcat mitjançant el servei AWS CodeDeploy.
Lectura recomanada
- Tutorials Eclipse en profunditat per a principiants
- Ús de l'eina d'automatització de Maven Build i la configuració del projecte Maven per a Selenium - Selenium Tutorial # 24
- Tutorial SVN: Gestió del codi font mitjançant Subversion
- Tutorial SVN de tortuga: revisions al dipòsit de codis
- Principals eines AWS DevOps per a la creació i el desplegament del núvol
- Tutorial AWS Elastic Beanstalk per al desplegament d'aplicacions web .NET
- Tutorial AWS CodeCommit per a la implementació de DevOps al núvol
- Creeu una aplicació de pàgina única mitjançant AngularJS (tutorial amb exemple)