Your avatar

manueh

@manueh

Mamber de corazón, aquí para subir las mejores publicaciones.
153

followers

54

following

  • Posts
    21

Despliega tu aplicación web en Digital Ocean con Github Actions [Configurando Github Actions]

En capítulos anteriores, aprendimos a como configurar nuestro VPS en Digital Ocean con la misión de preparar el entorno para alojar nuestra aplicación web. Si aún no lo has leído te invito a echarle un vistazo antes de continuar.
Parte 1:  Despliega tu aplicación web en Digital Ocean con Github Actions [Configuración de nuestro VPS]
En la historia del desarrollo web, hemos tenido a nuestro alcance bastantes herramientas que nos permitieron poner en producción nuestro código, pero no siempre fue de forma ágil y sencilla. Durante el proceso se cometían muchos errores que dejaban nuestra web inutilizada por horas. Hoy en día, estos procesos se automatizan a tal punto que dejamos fuera de la ecuación el error humano.
Para montar nuestro sistema de despliegue e integración continua o CI/CD con sus siglas en ingles, usaremos Github, en concreto, su famosa herramienta Github Actions, que nos permitirá montar este sistema de forma facil y sencilla.
Para comenzar, iremos en primer lugar a nuestro perfil de Github, en él, encontraremos el apartado de Settings
En este punto podremos diferenciar en el menú lateral una opción que es bastante descriptiva llamada Actions y un subapartado llamada runners, es aquí donde está el quid de la cuestión. 
Alojaremos nuestro sistema de CI/CD en nuestro VPS, para ello, tendremos que crear un nuevo runner en el botón que dice create self-hosted runner
Nos saldrá una nueva pantalla, donde tendremos que elegir Linux y seguir las instrucciones que detalla Github pero no lo pongas en marcha con el comando run.cmd
Seguidamente, convirtamos nuestro runner en un servicio para que nos de la absoluta flexibilidad usando este comando en el directorio de nuestro runner
Ahora podemos usar nuestros comandos para controlar el servicio a nuestro antojo
Una vez iniciado el servicio, debería aparecer nuestro runner con estado Idle
Bien, ya tenemos nuestro runner configurado en nuestro VPS, ahora tenemos que usarlo para desplegar nuestro código, para esto, tenemos que crear en nuestro proyecto lo que se conoce como workflow o flujo.
En nuestro proyecto GIT, crearemos una carpeta llamada .github y en su interior otra carpeta llamada workflows, donde alojaremos nuestros flujos para desplegar e integrar, un archivo con formato yml que lo llamaremos node.js.yml (o el nombre que a ti mas te guste).
Dentro tendremos lo siguiente
A continuación, si esta todo correcto, procederemos a hacer push a nuestra rama master o cualquier otra rama que hayáis puesto para lanzar nuestro flujo
Y hasta aquí la segunda parte de esta serie, en la tercera parte procederé a   contar como convertir nuestra aplicación en una aplicación zero downtime, para evitar las caídas en el despliegue.
Como siempre, me encantaría que te animases a comentar, a dar tu opinión y a aportar ideas si te apetece. Todo es mejorable y este articulo también lo es, te leo.

Original
This post's author has indicated that the content is his/her own.
Your avatar
Updated 3 months ago

Despliega tu aplicación web en Digital Ocean con Github Actions [Configuración de nuestro VPS]

Hace poco mas de un mes me embarqué en un nuevo proyecto, comencé a definir su arquitectura, su alcance, cuales eran las tecnologías que iba a usar, donde iba a alojar mi aplicación y cual iba a ser el método para distribuir mi aplicación al cliente final.
En esta serie de artículos, encontrarás una explicación detallada de como logré configurar mi servidor en Digital Ocean y como usé Github actions para hacer el despliegue mas sencillo y libre de errores humanos.
En primer lugar, por supuesto tendremos que tener nuestra cuenta creada en Digital Ocean, si no tienes una cuenta, puedes crearla desde aquí.
Seguidamente, crearemos nuestro primer Droplet (nuestro VPS), para ello, podéis seguir las maravillosa documentación de Digital Ocean aquí para no duplicar mas contenido en la red.
Podemos elegir que nuestro servidor sea Ubuntu y elegir el plan mas barato o según los requisitos de tu proyecto.
Una vez creado, abriremos una terminal y nos conectaremos por ssh mediante el usuario root de la siguiente forma
Una vez dentro, actualizamos el servidor con sudo apt update y sudo apt upgrade, posteriormente activamos nuestro firewall con el comando ufw enable
Para que podamos acceder por ssh de nuevo y cuando alojemos nuestra web, permita conexiones http y https, deberemos conceder acceso en el firewall de la siguiente manera
Por otro lado, en medidas de seguridad crearemos otro usuario lanzando estos dos comandos, el primero para crearlo y el segundo para darle privilegios.
Una vez hecho esto, copiaremos las keys autorizadas para la conexión ssh a la carpeta personal de nuestro usuario, esto nos dará acceso para conectarnos con nuestro usuario.
Una vez hecho, abriremos otra terminal para verificar que tenemos acceso con nuestro usuario.
En medidas de seguridad, podemos hacer mil cosas, pero una de ellas es aumentar la seguridad en nuestra conexión ssh, es por ello que cambiaremos el puerto por el que escucha dicha conexión que por defecto es el 22.
Para que este cambio tenga su efecto deseado, deberemos habilitar el nuevo puerto en nuestro firewall
Una vez hecho, reiniciamos el servicio de ssh para que comience a escuchar por el nuevo puerto
y podremos entrar con nuestro nuevo puerto
Una vez verificado, podremos decirle a nuestro firewall que elimine las conexiones por el puerto 22
Para instalar Node en nuestro servidor, podremos hacer uso de una herramienta llamada NVM, que te permitirá poder instalar la versión de Node y NPM que quieras.
En primer lugar, abrimos nuestra conexión ssh al servidor y escribimos (puede que esta versión este obsoleta, metete en el enlace de arriba y copia la ultima versión) 
Aplicamos los cambios que ha hecho el script anterior en el archivo .bashrc con source ~/.bashrc. 
Una vez hecho, si escribimos nvm en nuestra terminal, saldrán varias opciones y confirmaremos que lo hemos instalado correctamente.
A continuación, escribimos nvm install node, comando que nos descargará la ultima versión de node y su correspondiente versión npm compatible con esa versión
Usando node -v y npm -v en nuestra terminal podremos confirmar que se han instalado correctamente al ver el numero de la versión.
Procederemos a instalar nuestro servidor web de confianza, en tu caso, podría ser Apache, que funciona bastante bien.
En mi lugar instalaré NGINX por la facilidad que me aporta.
Lanzamos el comando sudo apt install nginx  y entramos en el navegador para escribir nuestra dirección IP del servidor (IPV4) donde veremos una web de NGINX y confirmaremos que se ha instalado correctamente.
Para que nuestra aplicación sea accesible en el navegador mediante nuestro dominio, deberemos crear un nuevo sitio dentro del directorio sites-available 
y configuramos nuestro servidor
Guardamos el archivo y creamos un enlace simbólico para habilitar nuestro sitio
validamos la configuración con el comando nginx -t y reiniciamos nuestro servidor con el comando sudo service nginx restart 
Podemos registrar nuestro dominio en cualquier web de venta de dominios o alojamiento web. Una vez esté en tu poder, deberás seguir los siguientes pasos para redireccionar el dominio a DO.
Deberemos entrar en nuestro Droplet en Digital Ocean, buscar el botón de add domain y añadir tu dominio.
Una vez añadido, nos saldrá una tabla indicándonos los registros DNS, con ellos iremos al registrador de tu dominio, y los actualizamos con los que nos proporciona digital ocean.
Una vez actualizados, esto demorara unas 48 horas máximo, hasta que se propaguen los DNS correctamente, una vez propagado podrás entrar con tu dominio en vez de con la IPV4, no sin antes haber añadido un registro en la configuración de tu droplet enlazando la dirección ip de la misma con la dirección de tu dominio tanto para tudominio.com como para www.tudomino.com
Si todo ha ido como la seda, podremos acceder a nuestro servidor mediante nuestro dominio.
En primer lugar, instalamos certbot para NGINX con el siguiente comando
En segundo lugar, procederemos a añadir nuestro certificado a nuestros dominios con la siguiente sentencia
Para finalizar, ahora en nuestro navegador deberá redirigirnos a una conexión https
Y hasta aquí la primera parte de esta serie, en la segunda parte procederé a contar como configurar Github actions y nuestro servidor para permitir desplegar fácilmente nuestra aplicación
En una tercera parte, contaré como convertir nuestra aplicación en una aplicación zero downtime , crearemos subdominios para poder alojar nuestra API y mucho mas. 

Original
This post's author has indicated that the content is his/her own.
Your avatar
Created 5 months ago
Imagen  de la publicación: ¿Noche de películas?

¿Noche de películas?

Te encuentras en sábado noche, no te apetece salir de marcha y es por ello que decides quedarte en casa, pides a domicilio y abres Netflix. Normalmente te enganchas a las sugerencias que te da la plataforma o continuas aquella serie de 10 temporadas que dejaste hace milenios y que solo empezaste porque no tenias nada mejor que ver.
Hoy en esta publicación te daré a conocer (o eso espero) 2 "películas" que no te dejaran indiferente, harán que esa pizza tenga un sabor aumentado por 1000 y lo mejor de todo, te entretendrán.
Sin lugar a dudas, una película de diez, protagonizada por el magnifico actor Denzel Washington, actor con interpretaciones en El protector o El vuelo, entre otras.
Roman es un abogado defensor idealista y con vocación cuya vida cambia drásticamente cuando su mentor, un icono de los derechos civiles, muere. Cuando ante su nueva situación es contratado por un bufete dirigido por un ambicioso abogado, Geoge Pierce (Colin Farrell), y comienza una amistad con una luchadora por la igualdad de derechos (Carmen Ejogo), una turbulenta serie de eventos desafían el activismo que siempre ha definido la carrera de Roman
Fuente: filmaffinity.com
Personalmente, es una película donde encontré drama, disciplina y pasión por lo que amas. Una película que te enseña hasta donde estas dispuesto a llegar para defender aquello que te importa. Una
Ver en Netflix
En realidad es una miniserie, pero tiene un estilo característico de película que hará que te olvides que en realidad estas viendo una serie. Quizás es para una noche larga si te ves con fuerzas. Para mi, una de mis obras preferidas, no ya solo por la época en la que se desarrolla, sino porque es una serie basada en hechos reales, de emprendimiento, superación y sacrificio.
Madam C.J. Walker: Una mujer hecha a sí misma es una serie que narra la historia nunca contada sobre Walker, una pionera y magnate del cuidado del cabello negro. La ficción se centra en cómo la protagonista logró superar su vida en el hostil Estados Unidos de principios de siglo.
Walker se convirtió en la primera millonaria afroamericana por mérito propio a pesar de rivalidades épicas, matrimonios tumultuosos y una familia conflictiva. La protagonista pasó 20 años trabajando como lavandera y ganando un dólar y medio a la semana. Todo cambió cuando descubrió la fórmula revolucionaria para el cuidado del pelo de las mujeres negras.  
Fuente: Sensacine.com
Ver en netflix
A mi personalmente me encantan las películas y series históricas, mayormente las basadas en hechos reales, aunque también las ficticias.
¿Que tipo de series o películas te gusta ver una Sábado noche?

Tu avatar
Actualizado hace 3 meses