primer commit
This commit is contained in:
50
deployments/Jenkinsfile
vendored
50
deployments/Jenkinsfile
vendored
@@ -1,35 +1,39 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
|
|
||||||
|
environment {
|
||||||
|
// Valores por defecto para evitar errores
|
||||||
|
CONTAINER_NAME = "django_app_dev"
|
||||||
|
PORT = "8000"
|
||||||
|
DEBUG_MODE = "1"
|
||||||
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage('Limpieza y Preparación') {
|
stage('Configurar Entorno') {
|
||||||
steps {
|
steps {
|
||||||
echo 'Bajando la versión anterior para actualizar...'
|
script {
|
||||||
// Añadimos -f para apuntar al archivo dentro de deployments
|
if (env.BRANCH_NAME == 'master') {
|
||||||
sh 'docker compose -f deployments/docker-compose.yml down || true'
|
echo "--- CONFIGURANDO MODO PRODUCCIÓN (MASTER) ---"
|
||||||
|
CONTAINER_NAME = "django_app_master"
|
||||||
|
PORT = "8001"
|
||||||
|
DEBUG_MODE = "0"
|
||||||
|
} else if (env.BRANCH_NAME == 'dev') {
|
||||||
|
echo "--- CONFIGURANDO MODO DESARROLLO (DEV) ---"
|
||||||
|
CONTAINER_NAME = "django_app_dev"
|
||||||
|
PORT = "8000"
|
||||||
|
DEBUG_MODE = "1"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Construcción (Build)') {
|
stage('Despliegue') {
|
||||||
|
when {
|
||||||
|
anyOf { branch 'dev'; branch 'master' }
|
||||||
|
}
|
||||||
steps {
|
steps {
|
||||||
echo 'Construyendo la imagen de la API Django...'
|
// Usamos las variables que configuramos arriba
|
||||||
// Añadimos -f para apuntar al archivo dentro de deployments
|
sh "docker compose -f deployments/docker-compose.yml up -d --build"
|
||||||
sh 'docker compose -f deployments/docker-compose.yml build'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
networks:
|
|
||||||
# Usamos la red que creamos al principio para que el Proxy lo vea
|
|
||||||
frontend:
|
|
||||||
external: true
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
build:
|
build:
|
||||||
context: .. # IMPORTANTE: Los dos puntos suben a la raíz para ver core y apps
|
context: ..
|
||||||
dockerfile: deployments/Dockerfile
|
dockerfile: deployments/Dockerfile
|
||||||
container_name: django_app_dev
|
container_name: ${CONTAINER_NAME}
|
||||||
restart: always
|
restart: always
|
||||||
|
environment:
|
||||||
|
- DEBUG=${DEBUG_MODE}
|
||||||
|
- DATABASE_URL=postgres://gitea:gitea_password@db:5432/gitea
|
||||||
|
networks:
|
||||||
|
- frontend
|
||||||
|
ports:
|
||||||
|
- "${PORT}:8000"
|
||||||
Reference in New Issue
Block a user