book-openInstrucciones cloud

Para el despliegue en la nube se utilizará los template de Ansible, Terraform y el workflow terraform-ansible incluido en el repositorio deployment-kitarrow-up-right.

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)

circle-info

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

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

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

circle-info

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ízarrow-up-right.

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

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:

2

Copia los templates de Ansible, Terraform y Workflow

Ve al repositorio deployment-kitarrow-up-right 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.

circle-info

Si necesitas ejemplos de cómo pueden ser configuradas las plantillas, puedes revisar el directorio deploymentsarrow-up-right dentro del repositorio deployment-kitarrow-up-right. Ahí encontrarás aplicaciones reales donde se han aplicado las plantillas. Además, los ejemplos de workflows se encuentran en la carpeta .githubarrow-up-right 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".

triangle-exclamation
circle-check
circle-exclamation

Last updated