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)

Para generar tu par de claves en AWS, consulta la documentación oficial sobre cómo crear un par de claves para la instancia EC2.

Para generar tu par de claves en DigitalOcean, consulta la documentación oficial sobre cómo crear claves SSH con OpenSSH en Linux.

  • Credenciales de acceso para el proveedor que utilizarás:

    • Para AWS: claves de acceso (AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY)

    • Para DigitalOcean: token de acceso personal (API)

Para obtener tus claves de acceso en AWS, consulta la documentación oficial sobre cómo crear las claves de acceso para el usuario raíz.

Para obtener tus claves de acceso en DigitalOcean, consulta la documentación oficial sobre cómo crear un token personal de acceso.

Pasos para desplegar

1

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)
2

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.

3

Configura los templates

Revisa la sección Configuración para adaptar los archivos a tu proyecto.

Si necesitas ejemplos de cómo pueden ser configuradas las plantillas, puedes revisar el directorio deployments dentro del repositorio deployment-kit. Ahí encontrarás aplicaciones reales donde se han aplicado las plantillas. Además, los ejemplos de workflows se encuentran en la carpeta .github en la raíz del repositorio.

4

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".

Last updated