38 lines
1.5 KiB
Groovy
38 lines
1.5 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
stages {
|
|
stage('Configurar Entorno') {
|
|
steps {
|
|
script {
|
|
// Aquí asignamos las variables directamente al entorno global de la ejecución
|
|
if (env.BRANCH_NAME == 'master') {
|
|
echo "--- MODO PRODUCCIÓN DETECTADO ---"
|
|
env.CONTAINER_NAME = "django_app_master"
|
|
env.PORT = "8001"
|
|
env.DEBUG_MODE = "0"
|
|
} else if (env.BRANCH_NAME == 'dev') {
|
|
echo "--- MODO DESARROLLO DETECTADO ---"
|
|
env.CONTAINER_NAME = "django_app_dev"
|
|
env.PORT = "8000"
|
|
env.DEBUG_MODE = "1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Despliegue') {
|
|
when {
|
|
anyOf { branch 'dev'; branch 'master' }
|
|
}
|
|
steps {
|
|
echo "EJECUTANDO DOCKER: ${env.CONTAINER_NAME} en el puerto ${env.PORT}"
|
|
|
|
// Forzamos a Docker a leer las variables y usamos un nombre de proyecto fijo (-p)
|
|
// Busca esta línea en tu Jenkinsfile y añade el final:
|
|
sh "CONTAINER_NAME=${CONTAINER_NAME} PORT=${PORT} DEBUG_MODE=${DEBUG_MODE} docker compose -p django_bac -f deployments/docker-compose.yml up -d --build web"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// Automatización activada |