Publica la actualización de un sitio de eventos

LinuxBeginner
Practicar Ahora

Introducción

Common Ground es un sitio web comunitario de demostración. Sus visitantes consultan Linux Evening, abren sus detalles y leen cómo inscribirse. La próxima versión traslada el evento de Room A a Community Hall. Debes publicar esta actualización preparada sin perder la versión actual.

Distinguirás una versión instalada de una versión en servicio, seleccionarás la actualización y probarás el sitio real. La aplicación y la herramienta de publicación ya están disponibles; no necesitas programar ni configurar Nginx. Basta con conocimientos básicos del terminal. Todos los eventos y direcciones son ficticios.

Pestaña Finalidad
Website Explorar el sitio comunitario real.
Workstation Utilizar el espacio de trabajo y la herramienta de publicación preparados.
Topology Entender la relación entre terminal, archivos y sitio web.

Cada práctica comienza con su propio entorno preparado. Las pestañas ya están listas.

Conoce el sitio y prepara la actualización

En este paso comprobarás el funcionamiento normal del sitio e instalarás una nueva versión sin cambiar lo que ven los visitantes. Empieza en Website.

Comprueba la experiencia normal

La página de inicio presenta Common Ground y muestra Linux Evening en On the horizon. Actualmente indica Location: Room A. Desplázate al final: el pequeño pie de página dice Release: event-v1. Una versión publicada es una copia concreta de los archivos del sitio.

Common Ground antes de la actualización

En Website, haz clic en la fila Linux Evening. La página de detalles muestra el martes a las 18:00 y Room A. Abre Registration instructions; explica el proceso de correo electrónico de demostración. No debes inscribirte realmente. Pulsa el logotipo COMMON GROUND de arriba para volver al inicio en la misma pestaña.

Debes conservar estos recorridos de usuario. La página de inicio no constituye todo el servicio.

Prepara una copia independiente

Cambia a Workstation. El terminal ya está en /home/labex/project/website-release, el espacio de publicación proporcionado. ls enumera los nombres del directorio actual:

ls

Verás packages, releases, current y release.sh. packages contiene las versiones suministradas pendientes de instalar y releases las instaladas. current selecciona la que reciben los visitantes; lo examinarás en el siguiente paso.

release.sh es una pequeña herramienta proporcionada. bash ejecuta ese script; las palabras que siguen a su nombre eligen una acción y, cuando procede, una versión. Utilizarás la herramienta; no tienes que escribir código Bash.

bash release.sh help

Lee la ayuda breve. install copia un paquete a su propio directorio; deploy selecciona una versión para el sitio; rollback selecciona una versión ya instalada. Ninguna acción determina si las páginas cumplen su función.

Enumera las versiones suministradas:

bash release.sh list

Sus nombres son event-v1 y event-v2. Instala la actualización:

bash release.sh install event-v2

Salida esperada:

Installed event-v2. The current website was not changed.

Comprueba que existen ambos directorios instalados. Al añadir releases, indicas a ls qué directorio debe enumerar:

ls releases

Deberían aparecer event-v1 y event-v2. Instalar una copia independiente conserva la versión anterior. Todavía no publica la actualización.

Vuelve a Website y recarga la página. La ubicación sigue siendo Room A y el pie sigue mostrando event-v1. Es intencional: seleccionarás la actualización en el siguiente paso.

Selecciona y publica la actualización

Cambiarás la versión seleccionada del sitio y conservarás la versión de recuperación. Empieza en Workstation.

Entiende la selección

Un enlace simbólico es una referencia del sistema de archivos a otra ubicación. Aquí, current apunta al directorio de una versión instalada. Nginx, el servidor web proporcionado, lee los archivos del sitio a través de ese enlace.

readlink muestra el destino de un enlace simbólico:

readlink current

Salida esperada:

releases/event-v1

Esta ruta relativa identifica el directorio event-v1 dentro de releases en este espacio de trabajo. Cada directorio incluye páginas HTML, estilos CSS locales, la ilustración local y un pequeño archivo de versión. Juntos forman una versión completa del sitio.

cat muestra un archivo. Antes de publicar, confirma la identidad de la versión de recuperación:

cat releases/event-v1/version.txt

Muestra event-v1. Conserva todo ese directorio. El plan consiste en volver a seleccionarlo si la actualización no supera las comprobaciones; reconstruirlo o eliminarlo perjudicaría ese plan.

Publica la versión instalada

Selecciona la actualización:

bash release.sh deploy event-v2

Salida esperada:

Selected event-v2. The server reports:
event-v2
Selection finished. Check the required pages before accepting this release.

La herramienta reutiliza el directorio instalado, cambia current mediante un enlace temporal y un cambio de nombre, y solicita realmente la versión al servidor. Así evita sobrescribir los archivos anteriores. No demuestra que funcionen todas las páginas ni garantiza que toda una sesión del navegador cambie de versión simultáneamente.

Examina la selección:

readlink current

Ahora muestra releases/event-v2.

Cambia a Website. Si tienes otra página abierta, pulsa COMMON GROUND para volver al inicio y recarga. En On the horizon, la sesión muestra Location: Community Hall. El pie identifica event-v2.

La actualización publicada

La nueva ubicación y el pie confirman el cambio. Aún debes comprobar los recorridos importantes antes de aceptar la versión.

Valida el sitio y conserva la opción de recuperación

Comprobarás la nueva versión como visitante y como cliente HTTP, y confirmarás que la anterior sigue disponible. Empieza en Website.

Recorre las páginas como un usuario

Pulsa la fila Linux Evening. La barra lateral debe mostrar Community Hall, no Room A. Abre Registration instructions. La página debe mostrar los pasos para participar y events@example.test, no una pantalla de página inexistente.

Los detalles actualizados de la sesión

Pulsa COMMON GROUND dentro de Website para volver al inicio.

Comprueba las respuestas HTTP reales

Cambia a Workstation. HTTP es el protocolo de solicitudes y respuestas de este sitio. Una solicitud identifica una ruta, como /registration.html; el servidor devuelve un estado y contenido. 200 indica que la respuesta solicitada se obtuvo correctamente. 404 indica que no se encontró la página solicitada.

curl envía una solicitud. -sS oculta el indicador de progreso, pero muestra los errores de conexión. -o /dev/null descarta el cuerpo de la respuesta; /dev/null es el destino de descarte del sistema. -w imprime el formato que sigue. Las comillas simples mantienen unido el formato, %{http_code} selecciona el estado y \n termina la línea de salida.

127.0.0.1 identifica este entorno; el puerto 8081 corresponde al sitio preparado. Utiliza esta dirección en Workstation, no en el terminal de tu ordenador. La / final solicita la página de inicio.

Comprueba el inicio:

curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8081/

El resultado es 200.

Comprueba por separado los detalles y la inscripción:

curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8081/events/linux-evening.html
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8081/registration.html

Ambas solicitudes deben devolver 200. También importa examinar el contenido en Website: una respuesta 200 que contiene una página incorrecta no es un resultado válido.

También puedes solicitar la pequeña respuesta de versión sin descartar el cuerpo:

curl -sS http://127.0.0.1:8081/version.txt

Muestra event-v2. Es una prueba útil, pero una etiqueta de versión no sustituye las comprobaciones de páginas y enlaces.

Conserva la posibilidad de recuperación

La versión original debe seguir intacta:

cat releases/event-v1/version.txt

Sigue mostrando event-v1. Conserva también sus páginas, estilos e ilustración; cambiar solo una etiqueta de versión no preserva un sitio web.

Cambia a Topology. Homepage reachable solo indica que responde el inicio. No es un veredicto de aceptación de toda la versión. Ya has comprobado los recorridos de usuario de forma independiente y conservado una versión de recuperación completa.

Resumen

Instalaste una versión independiente, la seleccionaste sin sobrescribir los archivos anteriores y validaste páginas y enlaces reales. También conservaste una versión completa cuyo buen funcionamiento conoces. En la siguiente práctica utilizarás esa opción cuando funcione el inicio de una versión, pero falle un recorrido importante.