diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..79ffa16 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,40 @@ +################################################################################ +# web +################################################################################ +kind: pipeline +type: docker +name: (admin Panel) build form and push to artifactory + +steps: + - name: tag + image: alpine/git:2.40.1 + environment: + GOOS: linux + GOARCH: amd64 + CGO_ENABLED: 0 + settings: + debug: true + commands: + - APP_VERSION=$(git rev-list HEAD --count --no-merges)-$DRONE_BRANCH + - echo "APP Version tags $APP_VERSION" + - echo -n "$APP_VERSION" >> .tags + + - name: build panel + image: plugins/docker + settings: + # build_args: + # - BUILD_APP=scraper + username: cicd + password: + from_secret: REGISTRY_PASSWORD + # dockerfile: Dockerfile-drone + repo: artifactory.ravanertebat.ir/tm/admin_panel + registry: artifactory.ravanertebat.ir + +node: + tag: aecde-docker-runner +trigger: + branch: + - dev + event: + - custom diff --git a/DockerFile b/DockerFile new file mode 100644 index 0000000..80c1bda --- /dev/null +++ b/DockerFile @@ -0,0 +1,34 @@ +FROM node:18.20.8 AS builder + +WORKDIR /app +# RUN apk add --no-cache libc6-compat + + +COPY package*.json ./ +RUN npm install + +RUN npm ci +RUN npm install --save-dev typescript @types/react @types/node + +COPY . . + +RUN npm run build + +#--- + +FROM node:18.20.8 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"]