From a9b46bdbd8e35853d6e646b0a3a838e7142b814b Mon Sep 17 00:00:00 2001 From: hanif salafi Date: Thu, 28 Mar 2024 09:25:28 +0700 Subject: [PATCH] feat: add gitlab-ci --- .gitlab-ci.yml | 30 ++++++++++++++++++++++++++++++ Dockerfile | 24 ++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..ff1df98 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,30 @@ +stages: + - build + - deploy + +build-dev: + stage: build + when: on_success + only: + - dev-main + - dev-restructure + image: docker:stable + services: + - docker:dind + script: + - docker logout + - docker login -u $DEPLOY_USERNAME -p $DEPLOY_TOKEN registry.gitlab.com + - docker build -t registry.gitlab.com/hanifsalafi/web-humas-polri:dev . + - docker push registry.gitlab.com/hanifsalafi/web-humas-polri:dev + +auto-deploy: + stage: deploy + when: on_success + only: + - dev-main + - dev-restructure + image: curlimages/curl:latest + services: + - docker:dind + script: + - curl --user cekmedsos:$JENKINS_PWD http://103.82.242.92:8080/job/autodeploy-humas/build?token=autodeployhumas diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..dead45c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM node:21-alpine + +ENV PORT 4000 + +# Create app directory +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +# Installing dependencies +COPY package*.json /usr/src/app/ + +# RUN npm install --force +RUN npm install -g npm@latest +RUN npm install next --legacy-peer-deps + +# Copying source files +COPY . /usr/src/app + +# Building app +RUN npm run build +EXPOSE 4000 + +# Running the app +CMD "npm" "run" "start" diff --git a/package.json b/package.json index c024a50..0308e2a 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "next dev", "build": "next build", - "start": "next start", + "start": "next start -p 4000", "lint": "next lint" }, "dependencies": {