Asignatura: Programación de Computadores / Fundamentos de Programación Temática Principal: Despliegue de Aplicaciones Web e Integración Continua (CI/CD)
El objetivo culminante de este primer bloque es publicar la aplicación en Internet para que sea accesible mediante un enlace URL público. Este proceso, conocido como despliegue (deployment), convierte el proyecto en una herramienta real y tangible que los estudiantes pueden compartir y agregar a su portafolio profesional.
Para que los servidores en la nube puedan ejecutar el código,
necesitan saber qué herramientas externas se utilizaron. * En VSCode,
los estudiantes deben crear un archivo nuevo llamado exactamente
requirements.txt en la misma carpeta donde se encuentra su
proyecto. * Dentro del archivo, deben listar las librerías necesarias,
escribiendo streamlit y math en líneas
separadas.
Al agregar un archivo nuevo, es imperativo sincronizar el repositorio
local con la nube aplicando la secuencia de control de versiones
aprendida: 1. git add . para preparar los cambios en el
directorio. 2.
git commit -m "Agregado archivo de requerimientos" para
registrar la modificación de forma definitiva. 3. git push
para enviar la actualización a GitHub.
Utilizando el servicio gratuito de Streamlit, se conectará el código
fuente con un servidor en vivo: 1. Ingresar a share.streamlit.io y
seleccionar la opción “Continue with GitHub” para iniciar sesión. 2.
Conceder los permisos de lectura de repositorios y hacer clic en el
botón “New app”. 3. Llenar el formulario de configuración seleccionando
el repositorio del proyecto, la rama main (o
master), y especificando app.py como el
archivo principal. 4. Hacer clic en “Deploy!” y esperar a que el
servidor instale los requerimientos y lance la aplicación, generando una
URL pública.
Una vez que GitHub y Streamlit Cloud están vinculados, cualquier
modificación que el estudiante realice en VSCode (como cambiar el título
o ajustar las fórmulas termo-físicas o de caudales) se actualizará
automáticamente en la página web tras ejecutar un nuevo
git push.
Para interiorizar estos conceptos, los estudiantes deben utilizar su
asistente de IA con la siguiente instrucción de análisis: >
“Actúa como un Ingeniero de Software Senior. Acabo de desplegar mi
primera aplicación de ingeniería usando GitHub y Streamlit Community
Cloud. 1) Explícame con palabras sencillas qué es el ‘Despliegue’
(Deployment) de software. 2) ¿Por qué es estrictamente necesario el
archivo requirements.txt cuando subimos código a la nube?
3) Explícame qué es la ‘Integración Continua / Despliegue Continuo
(CI/CD)’ y cómo se relaciona con el hecho de que mi app se actualice
sola al hacer un ‘git push’. 4) Menciona 2 ventajas de que un ingeniero
tenga sus herramientas publicadas en la web en lugar de solo en su
computadora. Después hazme 3 preguntas para verificar mi comprensión
sobre el despliegue en la nube.”
El esquema final para afianzar el conocimiento debe desarrollarse en
una sola hoja bajo estos parámetros: * Frente de la
hoja: Redactar la definición del despliegue en la nube,
explicar el rol técnico del archivo requirements.txt y
argumentar la ventaja de mantener conectado el repositorio de GitHub con
el servidor de Streamlit. Se debe incluir una frase de reflexión
celebrando la publicación de la primera aplicación del curso. *
Reverso de la hoja: Escribir en letras grandes la URL
pública generada por Streamlit Cloud. Adicionalmente, documentar a mano
la secuencia exacta de tres comandos en terminal (add,
commit, push) necesarios para actualizar la
aplicación de manera iterativa.