59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Docker
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Docker
		
	
	
		
			Executable File
		
	
	
	
	
| # Use a multi-stage build
 | |
| FROM farhan23432/ris_git:2.30.1 AS code
 | |
| 
 | |
| # Set build arguments and labels
 | |
| ARG BUILD_ID
 | |
| RUN echo $BUILD_ID
 | |
| LABEL stage=builder
 | |
| LABEL build_id=$BUILD_ID
 | |
| 
 | |
| # Clone repository and copy React.js code
 | |
| RUN mkdir /repo
 | |
| WORKDIR /repo
 | |
| RUN git clone http://$GITEA_USER:$GITEA_PASS@157.66.191.31:3000/risadmin_prod/test053rb.git
 | |
| COPY . .
 | |
| 
 | |
| # Use a multi-stage build
 | |
| FROM node:14-alpine AS builder
 | |
| 
 | |
| # Set working directory
 | |
| WORKDIR /app
 | |
| 
 | |
| # Copy React.js code and install dependencies
 | |
| COPY --from=code /repo/test053rb/test053rb-frontrb-f/Authsec_ReactBootStrapNew/ .
 | |
| # Clear everything and do a fresh install
 | |
| RUN rm -rf node_modules && \
 | |
|     rm -rf package-lock.json && \
 | |
|     npm cache clean --force
 | |
| 
 | |
| # Install html2canvas first with exact version
 | |
| RUN npm install html2canvas@1.4.1 --save-exact --no-package-lock
 | |
| 
 | |
| # Install all other dependencies
 | |
| RUN npm install --force --legacy-peer-deps
 | |
| 
 | |
| # Verify the package is installed
 | |
| RUN ls -la node_modules/html2canvas && \
 | |
|     ls -la node_modules/html2canvas/dist
 | |
| 
 | |
| # Set environment variables
 | |
| ENV PUBLIC_URL=http://157.66.191.31:35286/test053rb40482/frontrb
 | |
| ENV NODE_PATH=/app/node_modules
 | |
| 
 | |
| # Run build
 | |
| RUN npm run build
 | |
| 
 | |
| 
 | |
| 
 | |
| # Use Nginx as the web server
 | |
| FROM nginx:alpine
 | |
| 
 | |
| # Copy build artifacts from the previous stage to serve React.js application
 | |
| COPY --from=builder /app/build /usr/share/nginx/html
 | |
| 
 | |
| # Expose port 80
 | |
| EXPOSE 80
 | |
| 
 | |
| # Start Nginx when the container runs
 | |
| CMD ["nginx", "-g", "daemon off;"]
 |