41 lines
1.4 KiB
Groovy
41 lines
1.4 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
stages {
|
|
stage('Configurar Entorno') {
|
|
steps {
|
|
script {
|
|
if (env.BRANCH_NAME == 'master') {
|
|
env.PROJECT_NAME = "django_master"
|
|
env.CONTAINER_NAME = "django_app_master"
|
|
env.PORT = "8001"
|
|
env.DEBUG_MODE = "0"
|
|
} else {
|
|
env.PROJECT_NAME = "django_dev"
|
|
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}"
|
|
|
|
// Usamos docker-compose con guion para asegurar compatibilidad
|
|
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
|
|
"""
|
|
|
|
echo "Ejecutando migraciones en ${env.CONTAINER_NAME}..."
|
|
sh "docker exec ${env.CONTAINER_NAME} python manage.py migrate --noinput"
|
|
}
|
|
}
|
|
}
|
|
} |