36 lines
		
	
	
		
			591 B
		
	
	
	
		
			Docker
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			591 B
		
	
	
	
		
			Docker
		
	
	
	
ARG NODE_VERSION=20.9.0
 | 
						|
 | 
						|
###################
 | 
						|
# BUILD FOR CI TESTING
 | 
						|
###################
 | 
						|
 | 
						|
FROM node:${NODE_VERSION}
 | 
						|
 | 
						|
# Create app directory
 | 
						|
WORKDIR /usr/src/app
 | 
						|
 | 
						|
# A wildcard is used to ensure both package.json AND package-lock.json are copied
 | 
						|
COPY package*.json ./
 | 
						|
 | 
						|
# Install app dependencies
 | 
						|
RUN npm ci
 | 
						|
 | 
						|
# Bundle app source
 | 
						|
COPY . .
 | 
						|
 | 
						|
# Generate prisma client
 | 
						|
RUN npx prisma generate
 | 
						|
 | 
						|
# Create a "dist" folder
 | 
						|
RUN npm run build
 | 
						|
 | 
						|
# Run unit tests
 | 
						|
RUN npm run test:unit:ci
 | 
						|
 | 
						|
# ESLint / Prettier
 | 
						|
RUN npm run lint:check
 | 
						|
RUN npm run pretty:check
 | 
						|
 | 
						|
# Start the server
 | 
						|
CMD [ "node", "dist/main.js" ]
 |