3 Commits

Author SHA1 Message Date
b86e6c6066 Created deployment 2026-02-10 17:27:05 +01:00
d90f5af0d7 Created deployment 2026-02-10 17:25:01 +01:00
97c9ffaf77 Created deployment 2026-02-10 17:16:29 +01:00
4 changed files with 56 additions and 15 deletions

View File

@@ -1,10 +1,23 @@
# --- Release image ---
FROM node:22-alpine AS release
ARG PORT
WORKDIR /home/node/app
COPY ./dist/src ./src
COPY ./dist/package.json ./
COPY ./dist/package-lock.json ./
RUN npm ci
EXPOSE $PORT
ENTRYPOINT ["node", "src/apps/index.js"]
# Copiar paquetes compilados del monorepo
COPY ./dist/packages ./packages
# Instalar dependencias de produccion
COPY ./package.json ./
COPY ./package-lock.json ./
RUN npm ci --omit=dev
# Symlinks para modulos compartidos del workspace
RUN mkdir -p packages/node_modules && \
ln -sf ../sim-shared packages/node_modules/sim-shared && \
ln -sf ../sim-consumidor-objenious packages/node_modules/sim-consumidor-objenious
# Script de inicio para los 3 servicios
COPY ./entrypoint.sh ./
RUN chmod +x entrypoint.sh
EXPOSE ${PORT:-3000}
ENTRYPOINT ["./entrypoint.sh"]

View File

@@ -4,6 +4,8 @@ networks:
external: true
proxy:
external: true
internal:
driver: bridge
services:
rabbitmq-sim-broker:
@@ -27,6 +29,8 @@ services:
- ./rabbitmq_plugins/enabled_plugins:/etc/rabbitmq/enabled_plugins:ro
- ./rabbit/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro
- ./rabbit/definitions.json:/etc/rabbitmq/definitions.json:ro
networks:
- internal
labels:
- "io.portainer.accesscontrol.teams=develop"
@@ -49,8 +53,19 @@ services:
networks:
- savefamily
- proxy
- internal
expose:
- ${PORT}
volumes:
- ./.env:/home/node/app/.env:ro
- ./sim-consumidor-objenious.env:/home/node/app/packages/sim-consumidor-objenious/.env:ro
- ./sim-objenious-cron.env:/home/node/app/packages/sim-objenious-cron/.env:ro
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:${PORT:-3000}/health || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 15s
labels:
- "io.portainer.accesscontrol.teams=develop"
- "traefik.enable=true"
@@ -82,5 +97,7 @@ services:
retries: 5
start_period: 5s
timeout: 5s
networks:
- internal
labels:
- "io.portainer.accesscontrol.teams=develop"

View File

@@ -0,0 +1,9 @@
#!/bin/sh
# Cada servicio necesita CWD en su directorio de paquete
# para que loadEnvFile("../../.env") y loadEnvFile("./.env") resuelvan correctamente
(cd /home/node/app/packages/sim-objenious-cron && node index.js) &
(cd /home/node/app/packages/sim-consumidor-objenious && node index.js) &
(cd /home/node/app/packages/sim-consumidor-nos && node index.js) &
cd /home/node/app/packages/sim-entrada-eventos && exec node index.js

View File

@@ -16,7 +16,7 @@ pipeline {
steps {
sh 'npm install -g yarn'
sh 'corepack enable'
sh 'corepack prepare yarn@3.2.1 --activate'
sh 'corepack prepare yarn@4.12.0 --activate'
sh 'yarn install --immutable'
}
}
@@ -41,12 +41,20 @@ pipeline {
cleanRemote: false,
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-sims/.env $APP_REMOTE_PATH/.env"
),
sshTransfer(
cleanRemote: false,
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-sims/sim-consumidor-objenious.env $APP_REMOTE_PATH/sim-consumidor-objenious.env"
),
sshTransfer(
cleanRemote: false,
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-sims/sim-objenious-cron.env $APP_REMOTE_PATH/sim-objenious-cron.env"
),
sshTransfer(
cleanRemote: false,
remoteDirectory: "$APP_REMOTE_PATH",
sourceFiles: "dist/**/*",
excludes: "dist/**/node_modules/**"
),
),
sshTransfer(
cleanRemote: false,
remoteDirectory: "$APP_REMOTE_PATH",
@@ -70,12 +78,6 @@ pipeline {
sourceFiles: "deployment/develop/docker/**/*",
removePrefix: "deployment/develop/docker",
),
sshTransfer(
cleanRemote: false,
remoteDirectory: "$APP_REMOTE_PATH",
sourceFiles: "deployment/Dockerfile",
removePrefix: "deployment",
),
sshTransfer(
cleanRemote: false,
remoteDirectory: "$APP_REMOTE_PATH",