Instrucciones cloud
Para el despliegue en la nube se utilizará los template de Ansible, Terraform y el workflow terraform-ansible incluido en el repositorio deployment-kit.
Esta sección explica cómo desplegar automáticamente tu aplicación utilizando infraestructura en la nube, actualmente compatible tanto con AWS como con DigitalOcean.
El proceso está completamente automatizado mediante GitHub Actions, lo que permite una configuración flexible y reproducible según el proveedor que elijas.
Prerrequisitos
Antes de comenzar, asegúrate de contar con lo siguiente:
Cuenta de GitHub con acceso a GitHub Actions
Cuenta en algún proveedor cloud compatible (AWS o DigitalOcean)
Par de claves SSH para conexión remota (
.pem
y.pub
)
Credenciales de acceso para el proveedor que utilizarás:
Para AWS: claves de acceso (
AWS_ACCESS_KEY_ID
yAWS_SECRET_ACCESS_KEY
)Para DigitalOcean: token de acceso personal (API)
Pasos para desplegar
Crea secretos en GitHub Actions
Accede a tu repositorio y registra los siguientes secretos en:
Settings
> Secrets and variables
> Actions
> New repository secret
Para AWS es necesario tener los siguientes secretos:
AWS_ACCESS_KEY_ID: ID de clave de acceso (Access Key ID)
AWS_SECRET_ACCESS_KEY: Clave secreta (Secret Access Key)
AWS_INLINE_PUBLIC_KEY: Clave pública (.pub)
SSH_PRIVATE_KEY: Clave privada (.pem / sin extensión)
Copia los templates de Ansible, Terraform y Workflow
Ve al repositorio deployment-kit e ingresa a la carpeta templates
.
Copia la carpeta ansible
y la correspondiente a tu proveedor cloud:
terraform/aws
o terraform/digitalocean
, y colócalas dentro del directorio de despliegue.
Para el workflow, copia el archivo terraform-ansible.yml
dentro de la carpeta .github/workflows
de tu repositorio.
Configura los templates
Revisa la sección Configuración para adaptar los archivos a tu proyecto.
Ejecuta el workflow
En tu repositorio de GitHub, ve a la pestaña Actions en la barra superior.
Busca y selecciona el workflow terraform-ansible.yml
llamado "Despliegue automatizado en la nube" (o el nombre que le hayas asignado al archivo).
Haz clic en el botón "Run workflow".
Este workflow está diseñado para ser ejecutado manualmente desde GitHub y como configuración inicial (no para actualizar la aplicación).
Si se vuelve a ejecutar, se duplicará la instancia y los recursos. Asegurate de eliminar la instancia anterior antes de volver a ejecutar el workflow.
Si todo ha funcionado correctamente, deberías poder acceder a tu aplicación desde el navegador con la IP pública de tu instancia (http(s)://[tu-ip-o-dominio]/).
Una vez finalizado el despliegue de tu aplicación, elimina manualmente la regla del puerto SSH (22) en el Security Group o Firewall si ya no utilizarás más GitHub Actions. Mantener este puerto abierto innecesariamente representa un riesgo de seguridad.
Last updated