From dd3d6bb6efb72cc68433fa9608653a48d88744f1 Mon Sep 17 00:00:00 2001 From: kittapath Date: Tue, 3 Dec 2024 13:39:09 +0700 Subject: [PATCH] test build --- .github/workflows/release.yaml | 1 + Dockerfile | 35 ---------------------------------- docker/Dockerfile | 34 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 Dockerfile create mode 100644 docker/Dockerfile diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ab39d00..705c538 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -52,6 +52,7 @@ jobs: with: context: . platforms: linux/amd64 + file: docker/Dockerfile push: true tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest - name: Remote Deployment diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 4ca0f48..0000000 --- a/Dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -FROM node:18-alpine as builder - -# Create app directory -WORKDIR /app - -# Install app dependencies -COPY package*.json ./ - -RUN npm ci - -COPY . . - -RUN npm run build - -FROM node:18-alpine - -ENV NODE_ENV production -USER node - -# Create app directory -WORKDIR /app - -# Install app dependencies -COPY package*.json ./ -# COPY .env ./ - -RUN npm ci --production - -COPY --from=builder /app/dist ./dist - -# COPY entrypoint.sh /usr/local/bin/entrypoint.sh -# RUN chmod u+x /usr/local/bin/entrypoint.sh - -# ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] -CMD [ "node", "dist/app.js" ] \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..07492be --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,34 @@ +# Build Stage +FROM node:lts-alpine AS build-stage + +# Create app directory +WORKDIR /app + +# Install app dependencies +COPY package*.json ./ + +RUN npm ci + +# Copy source files and build the app +COPY . . +RUN npm run build + +# Production Stage +FROM node:lts-alpine + +ENV NODE_ENV production +USER node + +# Create app directory +WORKDIR /app + +# Copy built app from build stage +COPY --from=build-stage /app/dist ./dist + +# Install only production dependencies +COPY package*.json ./ +RUN npm ci --production + +# Define the entrypoint and default command +# If you have a custom entrypoint script +CMD [ "node", "dist/app.js" ]