diff --git a/README.md b/README.md index 10becf4..bbd86c3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # django-core-base + + + + diff --git a/deployments/Jenkinsfile b/deployments/Jenkinsfile index 768a1fb..bd62429 100644 --- a/deployments/Jenkinsfile +++ b/deployments/Jenkinsfile @@ -1,35 +1,40 @@ pipeline { agent any + + environment { + // Valores iniciales por seguridad + CONTAINER_NAME = "django_app_dev" + PORT = "8000" + DEBUG_MODE = "1" + } stages { - stage('Limpieza y Preparación') { + stage('Configurar Entorno') { steps { - echo 'Bajando la versión anterior para actualizar...' - // Añadimos -f para apuntar al archivo dentro de deployments - sh 'docker compose -f deployments/docker-compose.yml down || true' + script { + if (env.BRANCH_NAME == 'master') { + echo "--- CONFIGURANDO MODO PRODUCCIÓN (MASTER) ---" + env.CONTAINER_NAME = "django_app_master" + env.PORT = "8001" + env.DEBUG_MODE = "0" + } else if (env.BRANCH_NAME == 'dev') { + echo "--- CONFIGURANDO MODO DESARROLLO (DEV) ---" + env.CONTAINER_NAME = "django_app_dev" + env.PORT = "8000" + env.DEBUG_MODE = "1" + } + } } } - stage('Construcción (Build)') { - steps { - echo 'Construyendo la imagen de la API Django...' - // Añadimos -f para apuntar al archivo dentro de deployments - sh 'docker compose -f deployments/docker-compose.yml build' + stage('Despliegue') { + when { + anyOf { branch 'dev'; branch 'master' } } - } - - stage('Despliegue (Deploy)') { steps { - echo 'Arrancando el contenedor en producción...' - // Añadimos -f para apuntar al archivo dentro de deployments - sh 'docker compose -f deployments/docker-compose.yml up -d' - } - } - - stage('Verificación') { - steps { - echo 'Listando contenedores activos:' - sh 'docker ps' + echo "Desplegando contenedor: ${env.CONTAINER_NAME} en puerto: ${env.PORT}" + // Ahora Docker Compose sí recibirá los valores correctamente + sh "docker compose -f deployments/docker-compose.yml up -d --build" } } } diff --git a/deployments/docker-compose.yml b/deployments/docker-compose.yml index d7296a7..ef72f20 100644 --- a/deployments/docker-compose.yml +++ b/deployments/docker-compose.yml @@ -1,14 +1,19 @@ -version: '3.8' - -networks: - # Usamos la red que creamos al principio para que el Proxy lo vea - frontend: - external: true - services: web: build: - context: .. # IMPORTANTE: Los dos puntos suben a la raíz para ver core y apps + context: .. dockerfile: deployments/Dockerfile - container_name: django_app_dev - restart: always \ No newline at end of file + container_name: ${CONTAINER_NAME} + restart: always + environment: + - DEBUG=${DEBUG_MODE} + - DATABASE_URL=postgres://gitea:gitea_password@db:5432/gitea + networks: + - frontend + ports: + - "${PORT}:8000" + +# --- ESTA ES LA PARTE QUE FALTABA --- +networks: + frontend: + driver: bridge \ No newline at end of file