feat(build): Migrate from static Nginx to Node.js server

This commit transitions the application from being served as a static site via Nginx to a full Node.js application, likely Next.js.

The Dockerfile has been completely rewritten to use a multi-stage build process:
- A `builder` stage installs dependencies and builds the application.
- A lean `runner` stage copies only the necessary production artifacts and dependencies to run the application server.

The `.drone.yml` configuration has been updated to align with this new build process and to trigger builds on the `develop` branch in addition to `main`.
This commit is contained in:
AmirReza Jamali
2025-10-14 16:41:47 +03:30
parent cd471695b7
commit a6e4e2cf6d
2 changed files with 36 additions and 10 deletions
+7 -6
View File
@@ -1,9 +1,9 @@
################################################################################
# Landing
# web
################################################################################
kind: pipeline
type: docker
name: (web landing) build form and push to artifactory
name: (landing) build form and push to artifactory
steps:
- name: tag
@@ -19,11 +19,11 @@ steps:
- echo "APP Version tags $APP_VERSION"
- echo -n "$APP_VERSION" >> .tags
- name: build landing
- name: build landing
image: plugins/docker
settings:
# build_args:
# - BUILD_APP=landing
# build_args:
# - BUILD_APP=scraper
username: cicd
password:
from_secret: REGISTRY_PASSWORD
@@ -36,5 +36,6 @@ node:
trigger:
branch:
- main
- develop
event:
- custom
- custom
+29 -4
View File
@@ -1,7 +1,32 @@
FROM nginx:alpine
FROM node:22.19.0 AS builder
COPY . /usr/share/nginx/html/
WORKDIR /app
# RUN apk add --no-cache libc6-compat
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
COPY package*.json ./
RUN npm i
COPY . .
RUN docker build .
#---
FROM node:22.19.0 AS runner
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/public ./public
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package*.json ./
EXPOSE 3000
CMD ["npm", "start"]