From a2b2f4be9d8177657050b6ece695d8bd7abaed18 Mon Sep 17 00:00:00 2001 From: risadmin_prod Date: Sat, 14 Jun 2025 03:19:02 +0000 Subject: [PATCH] deployment_files --- .../testrb1409-back-b/deployment/Dockerfile | 33 +++ sureops/testrb1409-back-b/deployment/build.sh | 37 ++++ .../testrb1409-front-f/deployment/Dockerfile | 58 +++++ .../testrb1409-front-f/deployment/build.sh | 36 ++++ .../src/main/resources/application.properties | 198 +++++++++--------- .../Authsec_ReactBootStrapNew/.env | 2 +- 6 files changed, 263 insertions(+), 101 deletions(-) create mode 100755 sureops/testrb1409-back-b/deployment/Dockerfile create mode 100755 sureops/testrb1409-back-b/deployment/build.sh create mode 100755 sureops/testrb1409-front-f/deployment/Dockerfile create mode 100755 sureops/testrb1409-front-f/deployment/build.sh diff --git a/sureops/testrb1409-back-b/deployment/Dockerfile b/sureops/testrb1409-back-b/deployment/Dockerfile new file mode 100755 index 0000000..cb2ae67 --- /dev/null +++ b/sureops/testrb1409-back-b/deployment/Dockerfile @@ -0,0 +1,33 @@ +#pulling from github + +FROM alpine/git:v2.30.1 AS code +ARG BUILD_ID +ARG GITEA_USER +ARG GITEA_PASS +RUN echo $BUILD_ID +LABEL stage=builder +LABEL build_id=$BUILD_ID +RUN mkdir repo +WORKDIR /repo +RUN git clone http://$GITEA_USER:$GITEA_PASS@157.66.191.31:3000/risadmin_prod/testrb1409.git +#************* Stage 2 - Maven Build ************** +FROM maven:3.9.3 AS mvn +LABEL stage=builder +LABEL build=$BUILD_ID +WORKDIR /workspace/app +COPY --from=code /repo/testrb1409/testrb1409-back-b/authsec_springboot/backend/ /workspace/app +RUN mkdir builder/ +RUN mvn install -Dmaven.test.skip + +#******** Stage 3 - Docker Build ********* + +#FROM java:8-jdk-alpine +FROM openjdk:8-jdk-alpine +LABEL stage=app +LABEL build=$BUILD_ID +RUN mkdir /usr/app +COPY --from=mvn /workspace/app/target/*jar /usr/app/gtest.jar +RUN mkdir /usr/app/sureops +WORKDIR /usr/app +EXPOSE 9292 +ENTRYPOINT ["java", "-jar", "gtest.jar"] \ No newline at end of file diff --git a/sureops/testrb1409-back-b/deployment/build.sh b/sureops/testrb1409-back-b/deployment/build.sh new file mode 100755 index 0000000..60d856b --- /dev/null +++ b/sureops/testrb1409-back-b/deployment/build.sh @@ -0,0 +1,37 @@ +#!/bin/bash +PRJ_NAME=testrb1409-back-b +DOCKER_USER=risadmin_prod +DOCKER_PASS=$(sv get risadmin_prod dockerPassword) +DOCKER_URL=157.66.191.31:3000 +#******************** +REPO_NAME=testrb1409 +GITEA_USER=risadmin_prod +GITEA_PASS=$(sv get risadmin_prod dockerPassword) +GITEA_EMAIL=ganeshk@dekatc.com +GIT_BRANCH=main +DOMAIN=157.66.191.31:3000 +#WEB-URL-PORT +CONT_PORT=3306 +TARGET_PORT=9292 +PATH_DIR=/data/39198_1749871116831/sureops_deploy/testrb1409/sureops/testrb1409-back-b/deployment +#********************** +cd $PATH_DIR +DOCKER_TAG=1.0 +#docker system prune -f +# Stop any existing containers with the same name and ports +docker stop $PRJ_NAME >/dev/null 2>&1 || true +docker rm $PRJ_NAME >/dev/null 2>&1 || true + +# Build and push the Docker image +DOCKER_BUILDKIT=0 docker build --no-cache -t $DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG --build-arg $GITEA_PASS --build-arg $GITEA_USER . +docker login --username=$DOCKER_USER --password=$DOCKER_PASS $DOCKER_URL +docker tag $DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG $DOCKER_URL/$DOCKER_USER/$PRJ_NAME +docker push $DOCKER_URL/$DOCKER_USER/$PRJ_NAME +docker push $DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG +docker logout $DOCKER_URL +#docker system prune -f +# Deploy the image in a Docker container +#docker run -d --name $PRJ_NAME -p $CONT_PORT:$TARGET_PORT $DOCKER_USER/$PRJ_NAME:$DOCKER_TAG + +curl -X GET "http://157.66.191.31:31170/sureops/suredocker/updaterepo?repoName=$REPO_NAME&packageName=$PRJ_NAME" + diff --git a/sureops/testrb1409-front-f/deployment/Dockerfile b/sureops/testrb1409-front-f/deployment/Dockerfile new file mode 100755 index 0000000..8393217 --- /dev/null +++ b/sureops/testrb1409-front-f/deployment/Dockerfile @@ -0,0 +1,58 @@ +# 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/testrb1409.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/testrb1409/testrb1409-front-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:34514/testrb140939198/front +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;"] diff --git a/sureops/testrb1409-front-f/deployment/build.sh b/sureops/testrb1409-front-f/deployment/build.sh new file mode 100755 index 0000000..f0ce913 --- /dev/null +++ b/sureops/testrb1409-front-f/deployment/build.sh @@ -0,0 +1,36 @@ +#!/bin/bash +PRJ_NAME=testrb1409-front-f +DOCKER_USER=risadmin_prod +DOCKER_PASS=$(sv get risadmin_prod dockerPassword) +DOCKER_URL=157.66.191.31:3000 +#******************** +REPO_NAME=testrb1409 +GITEA_USER=risadmin_prod +GITEA_PASS=$(sv get risadmin_prod dockerPassword) +GITEA_EMAIL=ganeshk@dekatc.com +GIT_BRANCH=main +DOMAIN=157.66.191.31:3000 +PATH_DIR=/data/39198_1749871116831/sureops_deploy/testrb1409/sureops/testrb1409-front-f/deployment +#********************** +cd $PATH_DIR +DOCKER_TAG=1.0 +#docker system prune -f +# Stop any existing containers with the same name and ports +docker stop $PRJ_NAME >/dev/null 2>&1 || true +docker rm $PRJ_NAME >/dev/null 2>&1 || true + +# Build and push the Docker image +DOCKER_BUILDKIT=0 docker build --no-cache -t $DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG --build-arg $GITEA_PASS --build-arg $GITEA_USER . +docker login --username=$DOCKER_USER --password=$DOCKER_PASS $DOCKER_URL +docker tag $DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG $DOCKER_URL/$DOCKER_USER/$PRJ_NAME +docker push $DOCKER_URL/$DOCKER_USER/$PRJ_NAME +docker push $DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG +docker logout $DOCKER_URL +docker system prune -f +# Deploy the image in a Docker container +#docker run -d --name $PRJ_NAME -p $CONT_PORT:$TARGET_PORT $DOCKER_USER/$PRJ_NAME:$DOCKER_TAG + +curl -X GET "http://157.66.191.31:31170/sureops/suredocker/updaterepo?repoName=$REPO_NAME&packageName=$PRJ_NAME" +docker network prune -f +docker volume prune -f +docker image prune -f --filter "dangling=true" \ No newline at end of file diff --git a/testrb1409-back-b/authsec_springboot/backend/src/main/resources/application.properties b/testrb1409-back-b/authsec_springboot/backend/src/main/resources/application.properties index a5446d1..1096fe1 100644 --- a/testrb1409-back-b/authsec_springboot/backend/src/main/resources/application.properties +++ b/testrb1409-back-b/authsec_springboot/backend/src/main/resources/application.properties @@ -1,100 +1,98 @@ -# File is used by sprigboot -server.contextPath=/* -server.port=9292 -spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/webui/ - -spring.banner.location=classpath:banner_txt.txt - -#Temporary disable security to enable it remove this -#security.ignored=/** - -springfox.documentation.swagger.v2.path=/api-docs -spring.jackson.date-format=yyyy-MM-dd - -chatgpt.api.url=https://api.openai.com/v1/completions -chatgpt.api.key=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 - - - -System.Net.ServicePointManager.Expect100Continue = false; - -#spring.jpa.hibernate.ddl-auto=none -#spring.jpa.hibernate.ddl-auto=update -#spring.datasource.continue-on-error=false - -# **** MY SQL DATABASE CONNECTION **** - -spring.datasource.url=jdbc:mysql://realit-prod.cj462uqsa4mz.ap-south-1.rds.amazonaws.com:3306/realnet_CNSBENEW?createDatabaseIfNotExist=true -spring.datasource.username=cnsdev -spring.datasource.password=cnsdevprod1212 - -spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver - -spring.jpa.hibernate.ddl-auto=update -spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect -# Prefix Path - -#spring.jpa.show-sql=true -spring.jpa.properties.hibernate.format_sql=true -spring.jpa.properties.hibernate.proc.param_null_passing=true - -# **********paytm dependency ****** -razorpay.api.key=rzp_test_xVnrBUjJWTEH0r -razorpay.api.secret=evTXkIFcgpVtiLa1P7M7CIox - -#***** MAIL SENDER -spring.mail.host=smtp.gmail.com -spring.mail.username=realitmailsender@gmail.com -spring.mail.password=epnmhzsccotnyozf -spring.mail.port=587 -#spring.mail.properties.mail.smtp.auth=true -spring.mail.properties.mail.smtp.starttls.enable=true -spring.mail.properties.mail.smtp.starttls.required=true - -# JACKSON -spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false - - -spring.mail.properties.mail.smtp.auth = true -spring.mail.properties.mail.smtp.socketFactory.port = 465 -spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory -spring.mail.properties.mail.smtp.socketFactory.fallback = false - -#******* MULTIPART RESOLVER -spring.servlet.multipart.enabled=true -spring.servlet.multipart.max-file-size=100MB -spring.servlet.multipart.max-request-size=100MB - -#***************OAUTH2 SOCIAL LOGIN ********* -# Social login provider props -spring.security.oauth2.client.registration.google.clientId=437023664181-0lm0ipgip3qbhga4nd7o4128jv4g2nv9.apps.googleusercontent.com -spring.security.oauth2.client.registration.google.clientSecret=I1HPyUqdJ9UONu45W1_wwfww -spring.security.oauth2.client.registration.google.scope=profile, email - - -spring.security.oauth2.client.registration.linkedin.clientId= -spring.security.oauth2.client.registration.linkedin.clientSecret= -spring.security.oauth2.client.registration.linkedin.client-authentication-method=post -spring.security.oauth2.client.registration.linkedin.authorization-grant-type=authorization_code -spring.security.oauth2.client.registration.linkedin.scope=r_liteprofile, r_emailaddress -spring.security.oauth2.client.registration.linkedin.redirect-uri={baseUrl}/login/oauth2/code/{registrationId} -spring.security.oauth2.client.registration.linkedin.client-name=Linkedin -spring.security.oauth2.client.registration.linkedin.provider=linkedin -spring.security.oauth2.client.provider.linkedin.authorization-uri=https://www.linkedin.com/oauth/v2/authorization -spring.security.oauth2.client.provider.linkedin.token-uri=https://www.linkedin.com/oauth/v2/accessToken -spring.security.oauth2.client.provider.linkedin.user-info-uri=https://api.linkedin.com/v2/me -spring.security.oauth2.client.provider.linkedin.user-name-attribute=id -linkedin.email-address-uri=https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~)) -app.auth.tokenSecret=926D96C90030DD58429D2751AC1BDBBC -app.auth.tokenExpirationMsec=864000000 - # After successfully authenticating with the OAuth2 Provider, - # we'll be generating an auth token for the user and sending the token to the - # redirectUri mentioned by the frontend client in the /oauth2/authorization request. - # We're not using cookies because they won't work well in mobile clients. -app.oauth2.authorizedRedirectUris=http://localhost:8081/oauth2/redirect,myandroidapp://oauth2/redirect,myiosapp://oauth2/redirect - - -projectPath=@project.basedir@ -angularProjectPath=@project.basedir@/webui - - +# File is used by sprigboot +server.contextPath=/* +server.port=9292 +spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/webui/ + +spring.banner.location=classpath:banner_txt.txt + +#Temporary disable security to enable it remove this +#security.ignored=/** + +springfox.documentation.swagger.v2.path=/api-docs +spring.jackson.date-format=yyyy-MM-dd + +chatgpt.api.url=https://api.openai.com/v1/completions +chatgpt.api.key=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 + + + +System.Net.ServicePointManager.Expect100Continue = false; + +#spring.jpa.hibernate.ddl-auto=none +#spring.jpa.hibernate.ddl-auto=update +#spring.datasource.continue-on-error=false + +# **** MY SQL DATABASE CONNECTION **** + +spring.datasource.url=jdbc:mysql://157.66.191.31:3306/db?createDatabaseIfNotExist=true +spring.datasource.username=cnsdev +spring.datasource.password=cnsdev2407 + +spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver + +spring.jpa.hibernate.ddl-auto=update +spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect +server.servlet.contextPath=/back + +#spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true +spring.jpa.properties.hibernate.proc.param_null_passing=true + +# **********paytm dependency ****** +razorpay.api.key=rzp_test_xVnrBUjJWTEH0r +razorpay.api.secret=evTXkIFcgpVtiLa1P7M7CIox + +#***** MAIL SENDER +spring.mail.host=smtp.gmail.com +spring.mail.username=realitmailsender@gmail.com +spring.mail.password=epnmhzsccotnyozf +spring.mail.port=587 +#spring.mail.properties.mail.smtp.auth=true +spring.mail.properties.mail.smtp.starttls.enable=true +spring.mail.properties.mail.smtp.starttls.required=true + +# JACKSON +spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false + + +spring.mail.properties.mail.smtp.auth = true +spring.mail.properties.mail.smtp.socketFactory.port = 465 +spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory +spring.mail.properties.mail.smtp.socketFactory.fallback = false + +#******* MULTIPART RESOLVER +spring.servlet.multipart.enabled=true +spring.servlet.multipart.max-file-size=100MB +spring.servlet.multipart.max-request-size=100MB + +#***************OAUTH2 SOCIAL LOGIN ********* +# Social login provider props +spring.security.oauth2.client.registration.google.clientId=437023664181-0lm0ipgip3qbhga4nd7o4128jv4g2nv9.apps.googleusercontent.com +spring.security.oauth2.client.registration.google.clientSecret=I1HPyUqdJ9UONu45W1_wwfww +spring.security.oauth2.client.registration.google.scope=profile, email + + +spring.security.oauth2.client.registration.linkedin.clientId= +spring.security.oauth2.client.registration.linkedin.clientSecret= +spring.security.oauth2.client.registration.linkedin.client-authentication-method=post +spring.security.oauth2.client.registration.linkedin.authorization-grant-type=authorization_code +spring.security.oauth2.client.registration.linkedin.scope=r_liteprofile, r_emailaddress +spring.security.oauth2.client.registration.linkedin.redirect-uri={baseUrl}/login/oauth2/code/{registrationId} +spring.security.oauth2.client.registration.linkedin.client-name=Linkedin +spring.security.oauth2.client.registration.linkedin.provider=linkedin +spring.security.oauth2.client.provider.linkedin.authorization-uri=https://www.linkedin.com/oauth/v2/authorization +spring.security.oauth2.client.provider.linkedin.token-uri=https://www.linkedin.com/oauth/v2/accessToken +spring.security.oauth2.client.provider.linkedin.user-info-uri=https://api.linkedin.com/v2/me +spring.security.oauth2.client.provider.linkedin.user-name-attribute=id +linkedin.email-address-uri=https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~)) +app.auth.tokenSecret=926D96C90030DD58429D2751AC1BDBBC +app.auth.tokenExpirationMsec=864000000 + # After successfully authenticating with the OAuth2 Provider, + # we'll be generating an auth token for the user and sending the token to the + # redirectUri mentioned by the frontend client in the /oauth2/authorization request. + # We're not using cookies because they won't work well in mobile clients. +app.oauth2.authorizedRedirectUris=http://localhost:8081/oauth2/redirect,myandroidapp://oauth2/redirect,myiosapp://oauth2/redirect + + +projectPath=@project.basedir@ +angularProjectPath=@project.basedir@/webui \ No newline at end of file diff --git a/testrb1409-front-f/Authsec_ReactBootStrapNew/.env b/testrb1409-front-f/Authsec_ReactBootStrapNew/.env index c64a63b..a00c97b 100644 --- a/testrb1409-front-f/Authsec_ReactBootStrapNew/.env +++ b/testrb1409-front-f/Authsec_ReactBootStrapNew/.env @@ -1,3 +1,3 @@ GENERATE_SOURCEMAP=false -REACT_APP_API_URL=http://157.66.191.31:33730/back/ \ No newline at end of file + REACT_APP_API_URL=http://157.66.191.31:34516/back/ \ No newline at end of file