Cree una canalización de CI/CD para la aplicación Node JS en Gitlab

Hoy en día todo el mundo quiere automatizar procesos. Por ejemplo, cuando desarrollamos nuestras API REST en Node.js, si necesita implementarlas en una instancia AWS EC2, puede hacerlo manualmente. Sin embargo, ¿con qué frecuencia desea repetir este manual de implementación? En lugar de una implementación manual, podemos implementar una canalización de CI/CD que la maneje automáticamente cada vez que combine código en la rama de implementación. Resumen Creación de una aplicación Node JS de muestra Aquí creamos una aplicación Node JS que devolverá un objeto json. // Importa los módulos requeridos const express = require(‘express’); // Crea una aplicación Express const app = express(); costo del puerto = 3000; // Define una ruta que devuelve un objeto JSON app.get(‘/api/sample’, (req, res) => { // Define su objeto JSON de muestra const jsonObject = { mensaje: ‘Este es un ejemplo de objeto JSON’ , datos: { nombre: ‘Aditya Patel’, edad: 30, correo electrónico: ‘aditya.patel@example.com’ } } // Enviar objeto JSON como respuesta res.json(jsonObject); () => { console.log(`El servidor está escuchando en http://localhost:${port}` }); Publicar código en Gitlab Cree una cuenta en Gitlab Commands para publicar o enviar su código git init. git add origen remoto http://gitlab.com/test-node-js.git add . git commit –m «Servidor inicial creado en Node JS fases: – prueba – prueba de implementación: fase: prueba before_script». : – apt-get update -qy && apt-get install -y rsync && apt-get install -y openssh-client – mkdir ~/ .ssh – echo » $AWS_SECRET_ACCESS_KEY» > ~/.ssh/id_rsa – chmod 600 ~/ .ssh/id_rsa – ssh-keyscan -H $AWS_PUBLIC_IP >> ~/.ssh/known_hosts script: – rsync -avz –delete – -exclude=». git/» . $AWS_USER_NAME@$AWS_PUBLIC_IP:/var/www/temp – ssh $AWS_USER_NAME@$AWS_PUBLIC_IP ‘cd /var/www/temp && npm install’ implementación: etapa: la implementación requiere: – prueba before_script: – apt-get update -qy && apt-get install -y rsync && apt-get install -y openssh-client – mkdir ~/.ssh – echo «$AWS_SECRET_ACCESS_KEY» > ~/.ssh/id_rsa – chmod 600 ~/.ssh/id_rsa – ssh-keyscan – H $AWS_PUBLIC_IP >> ~/.ssh/known_hosts script: – rsync -avz –delete –exclude=».git/» . $AWS_USER_NAME@$AWS_PUBLIC_IP:/var/www/dev – ssh $AWS_USER_NAME@$AWS_PUBLIC_IP ‘cd /var/www/dev && pm2 stop app && npm install && pm2 start app’ Nota: Aquí estoy usando docker runner en Gitlab para ejecutar trabajos. Configurar variables de entorno $AWS_USER_NAME $AWS_PUBLIC_IP $AWS_SECRET_ACCESS_KEY Ejemplos: $AWS_USER_NAME: aditya $AWS_PUBLIC_IP: 13.256.55.256 $AWS_SECRET_ACCESS_KEY (Este es el archivo .pem que obtendrá de AWS Dashboard). El valor de ejemplo del archivo .pem es: — –Inicio de clave privada RSA — MiIePaibaakcaqeamvorpe2urfss4/lagdqro6rwfbb+hwlzpsiye+ftpn0k8zyh lgfzdu5nt9fh9u31wrynwoeczvqwkflkmfx4Ot2sd98qfeemz+kuvgmr h HOXEBZGP8Z95SBVV5MZDFWD5CMNIIAJJ EFNNK7I7ZUPG6332PNNF62QWXRUG FWFJTXVO3S3VJXKK34ZRHQAVSFZZDQDQIJZOL4/8UXNXBB53BATLO2E3K6CO/YBAIPJ0UCNF+ ujgcx q1udwrikmyyyyluhg9czi0ehk4ebg+b4kqNkqqqqq31fwhgq b+oyxlfm 5hllpv8mtx1km7k2sefpervnnvz/oqidaqabaoibaf/u3w4bma5b0c8j+ C6k17 899us Urp Ottpewews33qyd1gymnwi – – –END CLAVE PRIVADA RSA – —- Establecer variable en Gitlab Vaya a su repositorio y luego vaya a Configuración > CI/CD > Variables Felicitaciones 🥂 🥳, ha automatizado exitosamente el proceso de implementación. Conclusión Al utilizar este proceso, reducimos nuestra dependencia de los recursos humanos y evitamos perder tiempo en implementaciones, lo que nos permite centrarnos en otras tareas. Además, promueve la organización del equipo y proporciona un enfoque más eficaz para que los directores de proyectos alineen las cosas en consecuencia. Entonces, ¿está buscando mejorar la productividad y la colaboración del equipo? Luego, asóciese con una empresa líder en desarrollo de aplicaciones móviles como The One Technologies para optimizar sus procesos y lograr la alineación del proyecto de manera eficiente. La gente también pregunta: ¿Qué es un canal de CI/CD? Una canalización de CI/CD automatiza el proceso de creación, prueba e implementación de software. Promueve la entrega de software rápida y confiable al tiempo que ayuda a mantener la calidad del código. ¿Cuáles son los pasos básicos en una canalización de CI/CD de Node.js? Una canalización típica de CI/CD de Node.js incluye etapas como: Compilación: instalar dependencias y compilar la aplicación. Pruebas: ejecute pruebas automatizadas para garantizar la calidad del código. Implementar: implemente la aplicación en un entorno de prueba o producción. ¿Cómo puedo activar la canalización de CI/CD en GitLab? Cuando envía cambios a su repositorio en GitLab, la canalización de CI/CD se inicia inmediatamente. Una canalización también se puede iniciar manualmente utilizando la API de GitLab o la UI de GitLab. ¿Por qué debería utilizar una canalización de CI/CD para mi aplicación Node.js? Al automatizar tareas repetitivas, una canalización de CI/CD aumenta la productividad del equipo al reducir los errores manuales durante la implementación, garantizar una entrega de software consistente y confiable y mejorar el desempeño general del equipo. ¿Cuáles son los beneficios de implementar CI/CD para mi proceso de desarrollo? Al automatizar las pruebas, las implementaciones de CI/CD aumentan la calidad del código, reducen el tiempo de comercialización de nuevos productos, promueven un mejor trabajo en equipo y facilitan ciclos de retroalimentación más rápidos. ¿La creación de un canal de CI/CD requerirá mucho esfuerzo inicial? Configurar una canalización de CI/CD requiere cierta configuración inicial, pero el ahorro de tiempo resultante, la reducción de errores y la mejora de la gestión del proyecto con el tiempo hacen que el trabajo valga la pena. El autor Bio Aditya Patel es ingeniero de software asociado en The One Technologies y se especializa en desarrollo de aplicaciones web y móviles. Se embarcó en su viaje en TI en 2022 durante sus años universitarios, sumergiéndose en tecnologías web como HTML, CSS y JavaScript. Apasionado por aprovechar la tecnología para el bien de la sociedad, Aditya se siente especialmente atraído por proyectos que benefician a los agricultores y que agilizan los procesos agrícolas y mejoran los medios de vida. De cara al futuro, aspira a establecer su propia empresa de TI, comprometida con el diseño centrado en el usuario y promoviendo el impacto social positivo.

About Francisco

Check Also

El desarrollo de aplicaciones móviles híbridas: ventajas y limitaciones

En el mundo actual impulsado por la tecnología, el mercado de aplicaciones móviles está en …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *