Compare commits
3 Commits
efc16d4ff3
...
b86e6c6066
| Author | SHA1 | Date | |
|---|---|---|---|
| b86e6c6066 | |||
| d90f5af0d7 | |||
| 97c9ffaf77 |
@@ -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"]
|
||||
|
||||
@@ -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"
|
||||
|
||||
9
deployment/develop/docker/entrypoint.sh
Normal file
9
deployment/develop/docker/entrypoint.sh
Normal 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
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user