Despliegue en un entorno de staging
Configure un workflow para desplegar automáticamente su aplicación en un entorno de staging destinado a pruebas previas a producción.
Despliegue en un entorno de staging es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué es un entorno de staging?
Imagine que ha creado una nueva funcionalidad para su aplicación. Antes de mostrársela a todo el mundo (en producción), querrá probarla en un entorno seguro y realista. ¡Ahí entra en juego un entorno de staging!
Un entorno de staging es una copia de su entorno de producción. Se utiliza para realizar las pruebas finales antes de un lanzamiento, lo que permite detectar problemas y garantizar la calidad sin afectar a los usuarios reales.
Staging frente a producción
Aunque staging refleja producción, sus objetivos son distintos:
- Staging: Se utiliza para el aseguramiento de la calidad (QA), las pruebas de aceptación del usuario (UAT) y las comprobaciones finales. Solo interactúa con él un público limitado (evaluadores y partes interesadas).
- Producción: Es el entorno activo que utilizan todos los usuarios finales. Cualquier problema en él afecta directamente a sus clientes.
Desplegar primero en staging es un paso fundamental para minimizar los riesgos en producción.
Funcionalidad Environments de GitHub
GitHub Actions ofrece una potente funcionalidad llamada Environments. Esta permite definir entornos lógicos (como staging o production) dentro de su repositorio.
Los entornos le ayudan a:
- Aplicar reglas de protección (aprobaciones manuales y temporizadores de espera).
- Gestionar secretos específicos del entorno.
- Realizar un seguimiento de los despliegues en entornos concretos.
Declaración de un entorno de staging
Para utilizar un entorno en su flujo de trabajo, primero debe definirlo en la configuración de su repositorio:
- Vaya a su repositorio de GitHub.
- Haga clic en Settings > Environments.
- Haga clic en New environment y asígnele un nombre, por ejemplo,
staging.
Aquí puede añadir reglas de protección, como exigir que un revisor apruebe los despliegues.
Estructura básica de un flujo de trabajo de despliegue
Ahora veamos cómo indicar a GitHub Actions que realice el despliegue en nuestro entorno de staging. El entorno se especifica dentro de un trabajo:
name: Deploy to Staging
on: push
jobs:
deploy-to-staging:
runs-on: ubuntu-latest
environment: staging # This links to your 'staging' environment
steps:
- name: Say Hello
run: echo "Deploying to staging!"Configuración de la protección del entorno
La línea environment: staging de su flujo de trabajo hace algo más que etiquetar el despliegue. Si ha configurado reglas de protección para el entorno staging en la configuración de su repositorio, estas se aplicarán automáticamente.
Por ejemplo, si requiere una aprobación manual, este trabajo se pausará hasta que una persona autorizada revise y apruebe el despliegue.
Compilación de su aplicación
Antes de realizar el despliegue, normalmente debe compilar su aplicación. Esto puede incluir compilar el código, ejecutar pruebas o empaquetar recursos. Añadiremos estos pasos a nuestro trabajo:
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js (Example build step)
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run buildDespliegue de los artefactos compilados
Después de compilar, el siguiente paso es transferir los archivos de su aplicación al servidor de staging. Esto suele implicar SSH, FTP o una herramienta de despliegue específica de la nube.
Este es un paso conceptual. En un caso real, sustituiría echo por su comando de despliegue real:
- name: Deploy to Staging Server
run: |
echo "Simulating deployment to staging..."
# scp -r ./dist user@staging.example.com:/var/www/html
# Or use a specific deployment action for AWS, Azure, etc.Unificación de todo: flujo de trabajo de staging
Este flujo de trabajo completo se activará al enviar cambios a la rama develop. Comprueba el código, compila la aplicación y, de forma conceptual, la despliega en el entorno de staging, respetando las reglas de protección que haya configurado.
name: Deploy to Staging Environment
on:
push:
branches:
- develop # Trigger only on pushes to the 'develop' branch
jobs:
deploy:
runs-on: ubuntu-latest
environment: staging # Link this job to the 'staging' environment
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js (Example)
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run build
- name: Deploy to Staging Server
run: echo "Deployment to staging completed!"Comprobación del despliegue en staging
Ha aprendido a configurar un flujo de trabajo de GitHub Actions para desplegar en un entorno de staging. ¡Pongamos a prueba sus conocimientos!
Repaso: despliegues en staging
¡Buen trabajo! Ha aprendido a configurar GitHub Actions para realizar despliegues en un entorno de staging.
- Staging es un entorno similar al de producción que se utiliza para las pruebas previas al lanzamiento.
- Los Environments de GitHub ayudan a gestionar la seguridad de los despliegues y los secretos.
- Los flujos de trabajo utilizan la clave
environmentpara dirigirse a entornos específicos. - Este proceso minimiza los riesgos y garantiza una transición más fluida a producción.
A continuación, exploraremos cómo gestionar información confidencial mediante variables de entorno y secretos.
Preguntas frecuentes
¿La lección «Despliegue en un entorno de staging» es gratis?
Sí — el texto completo de «Despliegue en un entorno de staging» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Despliegue en un entorno de staging»?
Configure un workflow para desplegar automáticamente su aplicación en un entorno de staging destinado a pruebas previas a producción. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Despliegue en un entorno de staging»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción al despliegue continuo
- Despliegue en un entorno de staging
- Variables de entorno y secretos
- Despliegue en producción con puertas de aprobación