Compare commits

...

22 Commits

Author SHA1 Message Date
b60ecccad4 Merge pull request 'dev' (#28) from dev into master
Some checks failed
DEPLOY_MULTI_BRACH/pipeline/head There was a failure building this commit
Reviewed-on: #28
2026-04-11 23:02:30 +02:00
1752b88bc3 Merge pull request 'Update README.md' (#27) from pre-dev into dev
Some checks failed
DEPLOY_MULTI_BRACH/pipeline/head There was a failure building this commit
Reviewed-on: #27
2026-04-11 23:01:24 +02:00
minguezsanzjuanjose
603df88419 Update README.md 2026-04-11 23:00:37 +02:00
9b447a21ce Merge pull request 'Update README.md' (#26) from pre-dev into dev
Reviewed-on: #26
2026-04-11 22:49:00 +02:00
minguezsanzjuanjose
8ca0abc273 Update README.md 2026-04-11 22:48:23 +02:00
0af35ee5db Merge pull request 'subimos predev cambios' (#25) from pre-dev into dev
Reviewed-on: #25
2026-04-11 22:20:59 +02:00
minguezsanzjuanjose
5287863c91 subimos predev cambios 2026-04-11 22:20:06 +02:00
f77f05e105 Merge pull request 'Update README.md' (#24) from pre-dev into dev
Reviewed-on: #24
2026-04-11 22:08:43 +02:00
minguezsanzjuanjose
508bc41b1c Update README.md 2026-04-11 22:07:53 +02:00
c4e8675fe8 Merge pull request 'dev' (#23) from dev into master
Reviewed-on: #23
2026-04-11 20:48:19 +02:00
3fecd8c7fb Merge pull request 'actions y ip allowed en settings' (#22) from pre-dev into dev
Reviewed-on: #22
2026-04-11 19:42:37 +02:00
minguezsanzjuanjose
199c0be297 actions y ip allowed en settings 2026-04-11 19:41:58 +02:00
7b0fcf26ff Merge pull request 'creacion de modelos' (#21) from pre-dev into dev
Reviewed-on: #21
2026-04-11 19:36:09 +02:00
minguezsanzjuanjose
ef42701a92 creacion de modelos 2026-04-11 19:35:26 +02:00
f5f53d03c9 Merge pull request 'Update settings.py' (#20) from pre-dev into dev
Reviewed-on: https://gitea.185.187.169.109.nip.io/Proyecto-SaaS/django-core-base/pulls/20
2026-04-11 19:12:30 +02:00
juanjo
f003137cd8 Update settings.py 2026-04-11 19:11:54 +02:00
e304a5c35f Merge pull request 'fix 2' (#19) from pre-dev into dev
Reviewed-on: https://gitea.185.187.169.109.nip.io/Proyecto-SaaS/django-core-base/pulls/19
2026-04-11 19:08:00 +02:00
juanjo
7e1755ded0 fix 2 2026-04-11 19:07:22 +02:00
93164e4f2c Merge pull request 'Update docker-compose.yml' (#18) from pre-dev into dev
Reviewed-on: https://gitea.185.187.169.109.nip.io/Proyecto-SaaS/django-core-base/pulls/18
2026-04-11 18:57:11 +02:00
juanjo
781bb216a3 Update docker-compose.yml 2026-04-11 18:56:35 +02:00
ce7a1414a2 Merge pull request 'Update docker-compose.yml' (#17) from pre-dev into dev
Reviewed-on: https://gitea.185.187.169.109.nip.io/Proyecto-SaaS/django-core-base/pulls/17
2026-04-11 18:46:54 +02:00
juanjo
85246b6bbd Update docker-compose.yml 2026-04-11 18:46:15 +02:00
8 changed files with 72 additions and 24 deletions

View File

@@ -1,6 +1,6 @@
# django-core-base
// V-Encore Lab: Sistema Automatizado v1.0.
// V-Encore Lab: Sistema Automatizado v1.0.3

View File

@@ -16,7 +16,7 @@ def getData(params):
# 2. Preparamos el diccionario de parámetros (tu estándar get_parameterized)
# Limpiamos los datos antes de enviarlos a la base de datos
id_promocion = clean_sql_int(params.get('id'))
is_active = 1 if params.get('activo') else 0
is_active = True if params.get('activo') else False
parameter_dict = [id_promocion, is_active]

View File

@@ -0,0 +1,20 @@
from django.db import models
class Promocion(models.Model):
# Campos detectados en tu getData y setData
nombre = models.CharField(max_length=255)
fecha_inicio = models.DateField(null=True, blank=True)
fecha_modificacion = models.DateField(null=True, blank=True)
descripcion = models.TextField(null=True, blank=True)
activo = models.BooleanField(default=True)
# Campo usado en tu JOIN de setData
categoria_id = models.IntegerField(null=True, blank=True)
class Meta:
# ¡CRÍTICO! Esto le dice a Django que la tabla se llame exactamente
# como la has escrito en tu SQL manual
db_table = 'promociones'
def __str__(self):
return self.nombre

4
core/asgi.py Normal file
View File

@@ -0,0 +1,4 @@
import os
from django.core.asgi import get_asgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')
application = get_asgi_application()

View File

@@ -11,7 +11,15 @@ BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = os.getenv('SECRET_KEY', 'django-insecure-change-me-for-production')
DEBUG = os.getenv('DEBUG', 'True').lower() == 'true'
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
ALLOWED_HOSTS = [
'v-encore-lab.com',
'dev.v-encore-lab.com',
'185.187.169.109', # Añade la IP aquí
'localhost',
'127.0.0.1',
'django_app_dev',
'django_app_master'
]
INSTALLED_APPS = [
'django.contrib.admin',

7
core/wsgi.py Normal file
View File

@@ -0,0 +1,7 @@
import os
from django.core.wsgi import get_wsgi_application
# Este es el enlace con tus configuraciones
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')
application = get_wsgi_application()

View File

@@ -5,14 +5,13 @@ pipeline {
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.PROJECT_NAME = "django_master" // <--- Nombre único
env.CONTAINER_NAME = "django_app_master"
env.PORT = "8001"
env.DEBUG_MODE = "0"
} else if (env.BRANCH_NAME == 'dev') {
echo "--- MODO DESARROLLO DETECTADO ---"
} else {
env.PROJECT_NAME = "django_dev" // <--- Nombre único
env.CONTAINER_NAME = "django_app_dev"
env.PORT = "8000"
env.DEBUG_MODE = "1"
@@ -22,17 +21,22 @@ pipeline {
}
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"
}
}
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"
}
}
}
}
// Automatización activada
}

View File

@@ -5,16 +5,21 @@ services:
dockerfile: deployments/Dockerfile
container_name: ${CONTAINER_NAME}
restart: always
working_dir: /app # <--- Vital para que encuentre 'core'
environment:
- DEBUG=${DEBUG_MODE}
# Usamos 'gitea-db-1' que es el nombre real y seguro
- DATABASE_URL=postgres://gitea:gitea_password@gitea-db-1:5432/gitea
- PYTHONPATH=/app # <--- Asegura que Python vea las carpetas
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWORD=gitea
- DB_HOST=gitea-db-1
- DB_PORT=5432
networks:
- gitea_net # Nombre interno para este archivo
- gitea_net
ports:
- "${PORT}:8000"
networks:
gitea_net:
external: true
name: frontend # <--- Este es el nombre real que vimos en el JSON
name: frontend