VPS - Configuración
Arquitectura
Estos comandos fueron pensados para configurar una instancia de máquina virtual con arquitectura AMD64 (Arquitecturas de x64 bits). Tener en cuenta cambios de comandos y configuraciones de instalación para arquitecturas ARM
| Configuración | Valor |
|---|---|
| Sistema Operativo |
La instancia fue configurada con un Ubuntu server 24.04LTS.
Dentro de la misma, se realiza la utilización de paquetes y herramientas como:
- git
- Docker
- MongoDb
- Nginx
En esta sección veremos algunas de las herramientas más importantes:
Docker
Para un CI/CD más rápido y la capacidad de realizar actualizaciones en caliente. Se optó por la posibilidad de utilizar imágenes de Docker con las aplicaciones previamente construidas para producción. Esto permite que el flujo de CI/CD dentro de la instancia solamente se base en actualizar las imágenes y reemplazarlas con las nuevas imágenes que contienen las funcionalidades mejoradas.
Instalación
sudo apt update# sudo apt upgrade # Opt - I prefer not at this time. (Recommended).sudo apt install -y apt-transport-https curlcurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt updatesudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose docker-compose-plugin
# Verify docker service statussudo systemctl status dockersudo usermod -aG docker ${USER}Variables de entorno
Estas variables fueron instanciadas directamente en la máquina virtual, para luego ser utilizada o formateada según sea correspondiente en los contenedores de Docker.
Cada una de las variables colocadas en esta documentación son utilizadas dentro del ecosistema de CI/CD del producto Checkout Dinámico (v2).
- Ejecutar el siguiente comando para acceder a la configuración de entorno de la instancia
nano ~/.bashrcUna vez dentro, procederemos a ir al final del archivo y agregar las siguientes lineas
export DOCKER_USERNAME='<docker_username>'export DOCKER_PASSWORD='<docker_password>'export MONGO_USERNAME='<mongo_username>'export MONGO_PASSWORD='<mongo_password>'export MONGO_HOST='localhost' # In compose is 'mongodb'export MONGO_PORT='<mongo_port>'export MONGO_DATABASE_NAME='<mongo_database_name>'export AWS_REGION='<aws_region>'export AWS_ACCESS_KEY='<aws_access_key>'export AWS_SECRET_ACCESS_KEY='<aws_secret_access_key>'export AWS_S3_BUCKET_NAME='helipagos'export HELIPAGOS_URL='https://checkoutsandbox-v2.helipagos.com'export DATABASE_URL='mongodb://<mongo_username>:<mongo_password>@mongodb:27017/<mongo_database_name>'export ENCRYPTED_PWD='<encrypted_pwd>'Reemplazar los valores por los datos correspondientes.
En el caso de requerir variables de producción. Por favor, coordinar con su gerente de área correspondiente para la solicitud.
Para aplicar los cambios de variables de entorno, una vez guardado el archivo se deberá de ejecutar el siguiente comando:
source ~/.bashrcY listo, una vez ejecutado el comando tendremos realizado las variables de entorno correctamente.