feat: initial CI/CD pipeline, Dockerfile, K8s manifests, build+test scripts
Build and Deploy / build-and-test (push) Failing after 3m37s
Build and Deploy / build-image (push) Has been skipped
Build and Deploy / deploy (push) Has been skipped

This commit is contained in:
2026-05-31 13:31:56 +00:00
parent b05e0f0a53
commit abf29e61de
11 changed files with 370 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
# Build stage
FROM node:22-alpine AS builder
WORKDIR /app
# Copy package files and install dependencies
COPY package*.json ./
RUN npm ci
# Copy source and build
COPY . .
RUN npm run build
# Production stage — nginx serving static files
FROM nginx:alpine
# Copy built site
COPY --from=builder /app/dist /usr/share/nginx/html
# Copy ads.txt if present at root
COPY --from=builder /app/ads.txt /usr/share/nginx/html/ads.txt
# Custom nginx config for SPA/history routing
RUN echo 'server { \
listen 80; \
server_name localhost; \
root /usr/share/nginx/html; \
index index.html; \
location / { \
try_files $uri $uri/ /index.html; \
} \
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { \
expires 1y; \
add_header Cache-Control "public, immutable"; \
} \
}' > /etc/nginx/conf.d/default.conf
EXPOSE 80