Este es el proyecto de la asignatura EGC para crear diplomas para los alumnos organizadores y participantes en las jornadas InnoSoft.
Clonar el repositorio por las claves SSH e inicializarlo en el IDE preferido.
sudo systemctl start mariadb
Esto configurará la contraseña del usuario root.
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE diplomasdb;
CREATE DATABASE diplomasdb_test;
CREATE USER 'diplomasdb_user'@'localhost' IDENTIFIED BY 'diplomasdb_password';
GRANT ALL PRIVILEGES ON diplomasdb.* TO 'diplomasdb_user'@'localhost';
GRANT ALL PRIVILEGES ON diplomasdb_test.* TO 'diplomasdb_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
python3.12 -m venv venv
source venv/bin/activate
cp .env.local.example .env
pip install --upgrade pip
pip install -r requirements.txt
pip install -e ./
flask db upgrade
flask db migrate
flask run
El servidor se ejecutará en http://localhost:5000/
rosemary test
-
Cambiar el archivo init.py de la carpeta app de "development" a "testing."
-
Ejecutar los siguientes comandos:
flask db downgrade
flask db upgrade
flask db migrate
-
Iniciamos la aplicación:
flask run
-
Ejecutamos los tests módulo a módulo:
pytest <ruta del archivo te test_selenium.py>
-
Cambiar el archivo init.py de la carpeta app de "testing" a "development."
-
Ejecutar los siguientes comandos:
flask db downgrade
flask db upgrade
flask db migrate
-
Iniciamos la aplicación:
flask run
-
Ejecutamos los tests módulo a módulo:
rosemary locust <modulo>
rosemary coverage
- Correo electrónico: user1@example.com
- Contraseña: password
- Verificar que las bases de datos
diplomasdb
ydiplomasdb_test
estén configuradas correctamente. - Asegurarse de que estás utilizando la versión correcta de Python (Python 3.12).
- Si encuentras problemas con las dependencias, revisa el archivo
requirements.txt
y actualiza las librerías. - Se recomienda que siempre que se cambie un .env se realicen los siguientes comandos:
flask db downgrade
flask db upgrade
flask db migrate
- Una vez seguidos los pasos 2, 3, 4, y 5 anteriormente mencionados en "Despliegue en Local", ejecutar lo siguiente:
cp .env.vagrant.example .env
Y ejecutar los siguientes comandos:
flask db downgrade
flask db upgrade
flask db migrate
Actualizamos la lista de paquetes:
sudo apt update
Instalar vagrant, ansible y virtualbox
sudo apt install vagrant ansible virtualbox
Si el paquete vagrant no está disponible tendrás que añadir manualmente el repo oficial y la clave GPG:
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vagrant ansible virtualbox
- VirtualBox: Descargar aquí
Para desactivar el modo "Secure Boot", sigue estos pasos:
- Reinicia tu equipo y accede a la BIOS/UEFI (generalmente presionando teclas como F2, Del, o Esc al arrancar).
- Busca la opción Secure Boot en el menú de configuración de seguridad o arranque.
- Cámbiala a Disabled o Off.
- Guarda los cambios y reinicia el equipo.
rm -r uploads
rm -r rosemary.egg-info
rm app.log*
cd vagrant/
vagrant up
El servidor se ejecutará en http://localhost:5000/
vagrant ssh
vagrant halt
10. Para volver a ejecutar los scripts de provisión o se quiere volver a iniciar la máquina tras haber sido apagada:
- Si la máquina virtual está apagada:
vagrant up --provision
- Si la máquina virtual necesita reiniciarse:
vagrant reload --provision
- Correo electrónico: user1@example.com
- Contraseña: password
Vemos las máquinas virtuales que tenemos funcionando en nuestro sistema:
vagrant global-status
Destruimos la máquina virtual:
vagrant destroy <uuid>
Notas:
- Si hay errores y no reconoce algún comando es recomendable eliminar el entorno virtual y volver a instalarlo con los pasos del punto 3 y 4 de "Despligue en Local" (con el .env correspondiente que se quiera usar).
- Si la máquina virtual se apaga, para volverla a iniciar correctamente se deben usar los comandos descritos en el punto 7.6.
- Verificar que las bases de datos
diplomasdb
ydiplomasdb_test
estén configuradas correctamente. - Asegurarse de que estás utilizando la versión correcta de Python (Python 3.12).
- Si encuentras problemas con las dependencias, revisa el archivo
requirements.txt
y actualiza las librerías. - Se recomienda que siempre que se cambie un .env se realicen los siguientes comandos:
flask db downgrade
flask db upgrade
flask db migrate
- Una vez seguidos los pasos 2, 3, 4, y 5 anteriormente mencionados en "Despliegue en Local", ejecutar lo siguiente:
cp .env.docker.example .env
Y ejecutar los siguientes comandos:
flask db downgrade
flask db upgrade
flask db migrate
- El primer paso es descargar la última versión de Docker Compose. No obstante, las últimas versiones de Docker ya incluyen Docker Compose. Antes de intentar realizar una instalación de Docker Compose, lanza el siguiente comando:
docker compose version
- Si te funciona, puedes saltarte el paso de descargar e instalar Docker Compose. Si no, puedes descargar Docker Compose usando el siguiente comando, pero asegúrate de verificar la última versión en la página de lanzamientos de Docker Compose:
mkdir -p ~/.docker/cli-plugins/
LATEST_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
sudo curl -SL "https://github.com/docker/compose/releases/download/${LATEST_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ~/.docker/cli-plugins/docker-compose
- Aplicar Permisos Ejecutables: asegúrate de que el archivo de Docker Compose tenga permisos ejecutables:
chmod +x ~/.docker/cli-plugins/docker-compose
- Verificar la instalación de Docker Compose: para confirmar que Docker Compose se ha instalado correctamente, ejecuta:
docker compose --version
Debido a que MariaDb por defecto se inicia en el puerto 3306 (el cual necesita docker), debemos parar el proceso de la aplicación, para ello ejecutamos:
sudo systemctl stop mariadb
Verificamos que se ha parado con el comando: sudo lsof -i :3306
docker-compose -f docker/docker-compose.yml up --build -d
El servidor se ejecutará en http://localhost:5000/
Si queremos parar Docker:
docker-compose -f docker/docker-compose.yml down
- Correo electrónico: user1@example.com
- Contraseña: password
sh scripts /clean_docker.sh
sudo systemctl start mariadb
Notas:
- Si hay errores y no reconoce algún comando es recomendable eliminar el entorno virtual y volver a instalarlo con los pasos del punto 3 y 4 de "Despligue en Local" (con el .env correspondiente que se quiera usar).
- Verificar que las bases de datos
diplomasdb
ydiplomasdb_test
estén configuradas correctamente. - Asegurarse de que estás utilizando la versión correcta de Python (Python 3.12).
- Si encuentras problemas con las dependencias, revisa el archivo
requirements.txt
y actualiza las librerías. - Se recomienda que siempre que se cambie un .env se realicen los siguientes comandos:
flask db downgrade
flask db upgrade
flask db migrate