aws codebuild tutorial
Herramienta DevOps de AWS CodeBuild:
algunos errores de software apuntan a un problema de conectividad física
En Parte 1 de las herramientas de AWS DevOps , vimos como Servicio CodeCommit se utilizó para almacenar el código fuente en un servicio seguro de control de versiones en línea, que es un requisito previo para cualquier implementación de DevOps.
En Parte 2 de la serie , aprenderemos más sobre cómo se puede compilar el código del repositorio de CodeCommit en la nube utilizando el servicio CodeBuild y la utilidad de compilación ANT o Maven.
Lectura sugerida => Serie de formación Absolute DevOps
Lo más importante es que no es necesario proporcionar ningún servidor de compilación. Los artefactos producidos se almacenan en el bucket de AWS S3, que es un servicio de almacenamiento simple para almacenar y recuperar cualquier cantidad de datos en Internet. Estas 2 actividades en ambos tutoriales forman parte de la Integración Continua.
En este tutorial, también veremos cómo se puede integrar Jenkins con CodeBuild.
Requisito previo:
- Cuenta con AWS preferiblemente un nivel gratuito.
- Conexión a Internet buena y rápida.
- Región de AWS utilizada: Asia Pacífico (Singapur).
Nota: Si ha utilizado la región de AWS (Mumbai) para el servicio CodeCommit, esta región no es compatible con CodeBuild. Debe utilizar la región compatible correspondiente y, por tanto, la región de Singapur se utiliza aquí.
Lo que vas a aprender:
- Proceso de compilación en CodeBuild
- Crear proyecto de construcción
- Integración de Jenkins con AWS CodeBuild
- Resumen
- Lectura recomendada
Proceso de compilación en CodeBuild
A continuación, se muestra el proceso que se sigue en la compilación mientras se usa el servicio CodeBuild:
- El código fuente se obtiene del repositorio de CodeCommit. El código fuente también se puede almacenar en GitHub o incluso en un bucket de S3.
- El servicio CodeBuild se basa en un archivo llamado buildspec.yml que contiene algunos comandos para ejecutar durante las fases de compilación como Instalar, Precompilar, Compilar y Postcompilar. Este archivo debe estar en la RAÍZ de la carpeta del proyecto y debe estar comprometido con el repositorio.
- Si en caso de que no desee utilizar el buildspec.yml para realizar la compilación, los comandos de maven también se pueden usar directamente.
- Finalmente, los artefactos generados como el archivo J2EE JAR / WAR / EAR se almacenan en el depósito S3.
- Las notificaciones que utilizan AWS Simple Notification Service (SNS) también se pueden configurar para enviar por correo electrónico los resultados de la compilación a los usuarios relevantes.
Aquí, veremos cómo usar el repositorio de CodeCommit (consulte la parte 1) y el comando maven para construir nuestro proyecto y almacenar el artefacto en el depósito de S3.
Crear proyecto de construcción
Inicie sesión en AWS e inicie el servicio CodeBuild. Haga clic para crear un nuevo proyecto de compilación.
Ingrese los detalles de la siguiente manera:
Nombre del proyecto: AWS-HelloWorld
Proveedor de origen: AWS CodeCommit
Repositorio: AWS-HelloWorld
Sistema operativo: Ubuntu
Tiempo de ejecución: Java
Versión en tiempo de ejecución: openjdk-8
Especificación de construcción: Insertar comandos de construcción
Comandos de construcción: instalación limpia de mvn
Archivos de salida: Target / AWS-HelloWorld-1.0.0.war (Esto está en un formato de Artifact ID-Version tomado del archivo POM).
Artefactos: Dónde colocar los artefactos de este proyecto de construcción.
Escribe: Amazon S3
Nombre: HWJavaWebTarget (Esta será la carpeta dentro del depósito).
Nombre del depósito: hwcodebuildbucket (El depósito debe crearse inicialmente antes de ejecutar la compilación y debe estar en minúsculas según las convenciones).
Las siguientes 3 capturas de pantalla son de un solo formulario para configurar el proyecto de compilación:
sitio web que convierte videos de youtube a mp4
Hacer clic Continuar y luego Guardar. La compilación ahora se puede activar haciendo clic en el Empezar a construir botón.
Haga clic de nuevo en el Empezar a construir para ver el progreso de la ejecución.
La compilación ahora se completa correctamente y los artefactos se cargan en el depósito de S3.
Vista del cubo S3
sitio web que convierte videos de youtube a mp3
El archivo WAR ahora se puede utilizar para la implementación en los servidores de aplicaciones adecuados.
Integración de Jenkins con AWS CodeBuild
Como vimos en el tutorial n. ° 1 de esta serie sobre cómo se configuró Jenkins con el repositorio de CodeCommit para habilitar la actividad de Integración continua. A medida que se configura el repositorio de control de versiones, ahora puede activar una compilación integrando CodeBuild con el mismo trabajo de compilación de Jenkins.
El complemento AWS CodeBuild para Jenkins debe instalarse para su integración. Puede descargarlo e instalarlo desde Aquí .
Use Jenkins => Administrar complementos para instalar el complemento.
Seleccione AWS CodeBuild como entorno de compilación y seleccione el proyecto de CodeBuild adecuado configurado en AWS como se muestra a continuación. Las claves de acceso de usuario de IAM y las claves secretas también deberán ingresarse como parte de la configuración.
El punto clave que debe recordarse aquí es que la compilación no se ha activado en los entornos locales, sino que se realiza en la nube. Por lo tanto, no es necesario aprovisionar servidores de compilación.
Resumen
A través de este tutorial, llegamos a saber cómo se puede usar el repositorio de CodeCommit para extraer el código y realizar una compilación de Maven utilizando el servicio CodeBuild.
Jenkins también puede activar la compilación. El artefacto generado, que es principalmente un archivo WAR, se almacena en el bucket de AWS S3.
En nuestro próximo tutorial, veremos cómo se puede utilizar el archivo WAR del bucket de S3 para implementar el servidor de aplicaciones Tomcat mediante el servicio AWS CodeDeploy.
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Tutoriales detallados de Eclipse para principiantes
- Uso de la herramienta de automatización de compilación Maven y configuración del proyecto Maven para Selenium - Tutorial de Selenium n. ° 24
- Tutorial de SVN: Gestión de código fuente con Subversion
- Tutorial de Tortoise SVN: Revisiones en el repositorio de código
- Principales herramientas de AWS DevOps para la construcción e implementación de la nube
- Tutorial de AWS Elastic Beanstalk para implementar una aplicación web .NET
- Tutorial de AWS CodeCommit para la implementación de DevOps en la nube
- Cree una aplicación de una sola página usando AngularJS (Tutorial con ejemplo)