diff --git a/Dockerfile b/Dockerfile index f351629..9d2bc00 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,15 +3,9 @@ FROM node:15-alpine WORKDIR /app COPY ./public /app/public -COPY ./src /app/src COPY ./views /app/views +COPY ./dist /app/views COPY ./package.json /app/package.json -COPY ./package-lock.json /app/package-lock.json -COPY ./tsconfig.json /app/tsconfig.json - -RUN npm install && ./node_modules/.bin/tsc && rm -rf node_modules src tsconfig.json -ENV NODE_ENV=production -RUN npm install --only=production && rm -rf package-lock.json ENTRYPOINT npm start EXPOSE 3000 \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index 7dcd00e..8e3d06a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,10 +27,10 @@ node { sh 'rm GIT_COMMIT' def jobName = env.JOB_NAME.tokenize('/') print env.jobName + env.DOCKER_NAME="${jobName[0]}/${jobName[1]}:${env.BRANCH_NAME}-${env.GIT_COMMIT}" env.NODEJS_HOME = "${tool 'node14'}" env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}" - env.DOCKER_NAME="${jobName[0]}/${jobName[1]}:${env.BRANCH_NAME}-${env.GIT_COMMIT}" def customImage @@ -57,6 +57,20 @@ node { } + stage('Build Prod'){ + + env.NODE_ENV = "production" + + print "Environment will be : ${env.NODE_ENV}" + + sh 'node -v' + sh 'npm prune' + sh 'npm install' + sh './node_modules/.bin/tsc' + sh 'rm node_modules -rf' + sh 'npm install --only=production' + } + stage('Build Docker'){ customImage = docker.build(env.DOCKER_NAME)