Files
django-core-base/deployments/Jenkinsfile
minguezsanzjuanjose 5287863c91 subimos predev cambios
2026-04-11 22:20:06 +02:00

42 lines
1.5 KiB
Groovy

pipeline {
agent any
stages {
stage('Configurar Entorno') {
steps {
script {
if (env.BRANCH_NAME == 'master') {
env.PROJECT_NAME = "django_master" // <--- Nombre único
env.CONTAINER_NAME = "django_app_master"
env.PORT = "8001"
env.DEBUG_MODE = "0"
} else {
env.PROJECT_NAME = "django_dev" // <--- Nombre único
env.CONTAINER_NAME = "django_app_dev"
env.PORT = "8000"
env.DEBUG_MODE = "1"
}
}
}
}
stage('Despliegue') {
when { anyOf { branch 'dev'; branch 'master' } }
steps {
echo "DESPLEGANDO: ${env.CONTAINER_NAME} en el puerto ${env.PORT}"
// 1. Levantamos el contenedor con su nombre de proyecto único (-p)
sh """
CONTAINER_NAME=${env.CONTAINER_NAME} \
PORT=${env.PORT} \
DEBUG_MODE=${env.DEBUG_MODE} \
docker compose -p ${env.PROJECT_NAME} -f deployments/docker-compose.yml up -d --build web
"""
// 2. Ejecutamos migraciones automáticamente al terminar
echo "Ejecutando migraciones en ${env.CONTAINER_NAME}..."
sh "docker exec ${env.CONTAINER_NAME} python manage.py migrate --noinput"
}
}
}
}