============================================================ DH V2 · DEPLOY DESDE GITEA · deploy ============================================================ From https://git.korexlabs.com.ar/admin/dh-inspeccion-v2 * branch deploy -> FETCH_HEAD * branch main -> FETCH_HEAD 4523aef..29208f4 main -> origin/main Actual: 4523aef9322ac0de0d6caf49c14891e9110dc22c Objetivo: 29208f4e1f1c6f05465227e6b0c791f41426d314 Main: 29208f4e1f1c6f05465227e6b0c791f41426d314 API candidata: 0.29.0-13 WEB candidata: 0.23.0-10 ========== PREFLIGHT DE DEPLOY ========== Gitea Actions ya validó tests, migraciones e imágenes de producción. El VPS valida únicamente composición, scripts, backup, migraciones reales, recreación y health. ========== BACKUP PRE ========== database-before.dump: OK source-before.tar.gz: OK .env: OK previous.sha: OK target.sha: OK docker-before.txt: OK ========== FAST-FORWARD ========== 29208f4 release(android): prepare client demo 0.19.12 Updating 4523aef..29208f4 Fast-forward .github/workflows/android.yml | 4 ++-- android-app/RELEASE.md | 6 +++--- android-app/app/build.gradle.kts | 4 ++-- .../src/test/java/com/korexlabs/dhinspeccion/ReleaseMetadataTest.kt | 4 ++-- api-v3/test/unit/f5-android-test-cut.test.ts | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) ========== BUILD PRODUCCIÓN ========== Image dhv2-api Building Image dhv2-migrate Building Image dhv2-web Building #1 [internal] load local bake definitions #1 reading from stdin 1.35kB done #1 DONE 0.0s #2 [migrate internal] load build definition from Dockerfile #2 transferring dockerfile: 657B done #2 DONE 0.0s #3 [web internal] load build definition from Dockerfile #3 transferring dockerfile: 451B done #3 DONE 0.0s #4 [web internal] load metadata for docker.io/library/node:24-alpine #4 ... #5 [web internal] load metadata for docker.io/library/nginx:alpine #5 DONE 0.8s #4 [migrate internal] load metadata for docker.io/library/node:24-alpine #4 DONE 0.8s #6 [web internal] load .dockerignore #6 transferring context: 148B done #6 DONE 0.0s #7 [api internal] load .dockerignore #7 transferring context: 147B done #7 DONE 0.0s #8 [web internal] load build context #8 DONE 0.0s #9 [api internal] load build context #9 DONE 0.0s #10 [migrate builder 1/9] FROM docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81 #10 resolve docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81 0.0s done #10 resolve docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81 0.0s done #10 DONE 0.1s #11 [web stage-1 1/3] FROM docker.io/library/nginx:alpine@sha256:17ad11d84df6c69e327c0894125f712ec1f1de627b5e5ed7e12ca2ed8cd5daf8 #11 resolve docker.io/library/nginx:alpine@sha256:17ad11d84df6c69e327c0894125f712ec1f1de627b5e5ed7e12ca2ed8cd5daf8 0.1s done #11 DONE 0.1s #8 [web internal] load build context #8 transferring context: 19.58kB 0.0s done #8 DONE 0.1s #9 [migrate internal] load build context #9 transferring context: 76.72kB 0.0s done #9 DONE 0.1s #12 [web builder 3/9] COPY package*.json ./ #12 CACHED #13 [web builder 5/9] COPY tsconfig*.json vite.config.ts index.html ./ #13 CACHED #14 [web builder 6/9] COPY public ./public #14 CACHED #15 [web builder 7/9] COPY scripts ./scripts #15 CACHED #16 [web builder 2/9] WORKDIR /app #16 CACHED #17 [web builder 4/9] RUN npm ci #17 CACHED #18 [web builder 8/9] COPY src ./src #18 CACHED #19 [web builder 9/9] RUN npm run build #19 CACHED #20 [web stage-1 2/3] COPY nginx/default.conf /etc/nginx/conf.d/default.conf #20 CACHED #21 [web stage-1 3/3] COPY --from=builder /app/dist /usr/share/nginx/html #21 CACHED #22 [migrate runner 7/8] COPY --from=builder /app/assets ./assets #22 CACHED #23 [migrate builder 8/8] RUN npm run build #23 CACHED #24 [migrate builder 5/8] COPY nest-cli.json tsconfig.json ./ #24 CACHED #25 [migrate runner 6/8] COPY --from=builder /app/dist ./dist #25 CACHED #26 [migrate runner 5/8] RUN npm ci --omit=dev && npm cache clean --force #26 CACHED #27 [migrate runner 2/8] RUN apk add --no-cache unzip #27 CACHED #28 [migrate runner 4/8] COPY package*.json ./ #28 CACHED #29 [migrate runner 3/8] WORKDIR /app #29 CACHED #30 [migrate builder 7/8] COPY assets ./assets #30 CACHED #31 [migrate builder 3/8] COPY package*.json ./ #31 CACHED #32 [migrate builder 4/8] RUN npm ci #32 CACHED #33 [migrate builder 6/8] COPY src ./src #33 CACHED #16 [migrate builder 2/9] WORKDIR /app #16 CACHED #34 [migrate runner 8/8] RUN mkdir -p /app/storage/asset-media/imports && chown -R node:node /app/storage #34 CACHED #35 [migrate] exporting to image #35 exporting layers done #35 exporting manifest sha256:41e97c415f8a516417ae2c5290a425670c568dd397fe1e85452ac4662974f67f done #35 exporting config sha256:657a679a4cc910af9486fcc37425d74e22058898acee15fd692d537044da6e98 done #35 exporting attestation manifest sha256:c2f461e489780d7b447b936ee453c5b6cb7e834183f9121bd1bb472cfb81c177 0.1s done #35 exporting manifest list sha256:3e11aca9d438d687f0faacbea58cd1c8aae7f0cf67d011bee85026776894db83 0.1s done #35 naming to docker.io/library/dhv2-migrate:latest 0.0s done #35 unpacking to docker.io/library/dhv2-migrate:latest 0.0s done #35 DONE 0.2s #36 [web] exporting to image #36 exporting layers done #36 exporting manifest sha256:0053cc45bf08a487c84ed0f9ba1cb8b8827a931a957a409c2d292854f6b29b9e done #36 exporting config sha256:84959561beddbb929f0d6dbb67348bd75aadd434ed57698998215c808eb599f2 done #36 exporting attestation manifest sha256:4d2f9ba54d722776a5a133851e689265aefd8ddee43f983588ab5fdf9d68a99f 0.1s done #36 exporting manifest list sha256:d42e0cf0b71a1bfa758ceb076ae1fbc2ec42a3f74e73a3215e54a964c33681e9 0.1s done #36 naming to docker.io/library/dhv2-web:latest 0.0s done #36 unpacking to docker.io/library/dhv2-web:latest 0.0s done #36 DONE 0.2s #37 [api] exporting to image #37 exporting layers done #37 exporting manifest sha256:86a30abfa5fa7c38dff90f0e727905fb1745df021a82033f8fe9afec3f12751d done #37 exporting config sha256:b1ce2ec5a5da1a44349015680c79828bc2064344ca839d7e2fb55d97da3a12f2 0.0s done #37 exporting attestation manifest sha256:2e093eace7378c7f998851749b015535dd9476fd9805fcaaf6306cfabb520c7a 0.1s done #37 exporting manifest list sha256:6360be9cae79a60659d101bbf91316160da9ce017c292787654871a314dc1d62 0.0s done #37 naming to docker.io/library/dhv2-api:latest done #37 unpacking to docker.io/library/dhv2-api:latest 0.0s done #37 DONE 0.3s #38 [web] resolving provenance for metadata file #38 DONE 0.1s #39 [migrate] resolving provenance for metadata file #39 DONE 0.0s #40 [api] resolving provenance for metadata file #40 DONE 0.0s Image dhv2-migrate Built Image dhv2-web Built Image dhv2-api Built ========== MIGRACIONES ========== Container dhv2-db Running Container dhv2-db Waiting Container dhv2-db Healthy Container dhv2-migrate-run-ccddf1db5065 Creating Container dhv2-migrate-run-ccddf1db5065 Created > dhv2-api@0.29.0-13 migration:run > node dist/database/migration-cli.js run Applied migrations: 0 npm notice npm notice New major version of npm available! 11.19.0 -> 12.0.2 npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2 npm notice To update run: npm install -g npm@12.0.2 npm notice Container dhv2-db Running Container dhv2-db Waiting Container dhv2-db Healthy Container dhv2-migrate-run-49782cb7a4f9 Creating Container dhv2-migrate-run-49782cb7a4f9 Created > dhv2-api@0.29.0-13 migration:show > node dist/database/migration-cli.js show Pending migrations: no npm notice npm notice New major version of npm available! 11.19.0 -> 12.0.2 npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2 npm notice To update run: npm install -g npm@12.0.2 npm notice ========== RECREATE API + WEB ========== Container dhv2-api Recreate Container dhv2-api Recreated Container dhv2-web Recreate Container dhv2-web Recreated Container dhv2-api Starting Container dhv2-api Started Container dhv2-web Starting Container dhv2-web Started ========== HEALTH ========== {"status":"ok","service":"dhv2-api","api":"v3","version":"0.29.0-13","phase":"F6.12","database":"ok","time":"2026-09-16T03:50:57.866Z","latencyMs":2} ========== VERIFICACIÓN FINAL ========== NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS dhv2-api dhv2-api "docker-entrypoint.s…" api 3 seconds ago Up 2 seconds 127.0.0.1:3101->3000/tcp dhv2-db postgis/postgis:16-3.5 "docker-entrypoint.s…" db 4 weeks ago Up 4 weeks (healthy) 5432/tcp dhv2-web dhv2-web "/docker-entrypoint.…" web 2 seconds ago Up 2 seconds 127.0.0.1:8182->80/tcp Servicios críticos: OK database-before.dump: OK source-before.tar.gz: OK .env: OK previous.sha: OK target.sha: OK docker-before.txt: OK database-after.dump: OK deployed.sha: OK deployed-versions.txt: OK health.json: OK migrations.txt: OK docker-after.txt: OK ============================================================ DH V2 · DEPLOY OK ============================================================ Commit: 29208f4e1f1c6f05465227e6b0c791f41426d314 API: 0.29.0-13 WEB: 0.23.0-10 Backup: /root/DH_V2_BACKUPS/GITEA_DEPLOY_20260916_005047 ============================================================