From f0d839435fe11d9173c35f53e76e1255e327348e Mon Sep 17 00:00:00 2001 From: ayoubl96 Date: Wed, 31 Dec 2025 17:44:38 +0100 Subject: [PATCH] Example --- Dockerfile | 20 ++++++++++++++++++++ package.json | 7 +++++++ src/index.js | 20 ++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 Dockerfile create mode 100644 package.json create mode 100644 src/index.js diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c1ed744 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Build stage +FROM node:18-alpine AS build +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +# Artifacts stage (per estrarre i build artifacts) +FROM build AS artifacts +RUN mkdir -p /out/dist && cp -r dist/* /out/dist/ + +# Production stage +FROM node:18-alpine AS production +WORKDIR /app +COPY --from=build /app/dist ./dist +COPY --from=build /app/package*.json ./ +RUN npm install --production +EXPOSE 3000 +CMD ["node", "dist/index.js"] diff --git a/package.json b/package.json new file mode 100644 index 0000000..a52ce3b --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "name": "demo", + "version": "1.0.0", + "scripts": { + "build": "mkdir -p dist && cp src/index.js dist/" + } +} diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..1427efd --- /dev/null +++ b/src/index.js @@ -0,0 +1,20 @@ +const http = require('http'); + +const server = http.createServer((req, res) => { + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Hello from Gitea CI/CD!\n'); +}); + +server.listen(3000, () => { + console.log('Server running on port 3000'); +}); +``` + +**Struttura del repo:** +``` +demo/ +├── Dockerfile +├── package.json +├── README.md +└── src/ + └── index.js