deployment_files

This commit is contained in:
risadmin_prod 2025-06-18 10:22:54 +00:00
parent d2c1055974
commit 098313b6c4
7 changed files with 273 additions and 104 deletions

View File

@ -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=<your-client-id>
spring.security.oauth2.client.registration.linkedin.clientSecret=<your-client-secret>
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=<your-client-id>
spring.security.oauth2.client.registration.linkedin.clientSecret=<your-client-secret>
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

View File

@ -10,8 +10,8 @@ export const environment = {
// changeble url // port
captchaSiteKey: '6LfrdSUpAAAAALkYDmnvdX3GLLCArgPWNHfXasjP',
//Deployment configs
backport:'35100/stepper02540192/back',backendUrl:'/stepper02540192/back',
};
};

View File

@ -10,7 +10,7 @@ export const environment = {
// changeblelocal configs url
captchaSiteKey: '6LfrdSUpAAAAALkYDmnvdX3GLLCArgPWNHfXasjP',
//Deployment configs
backport:'35100/stepper02540192/back',backendUrl:'/stepper02540192/back',
};
};

View File

@ -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/stepper025.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/stepper025/stepper025-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"]

View File

@ -0,0 +1,37 @@
#!/bin/bash
PRJ_NAME=stepper025-back-b
DOCKER_USER=risadmin_prod
DOCKER_PASS=$(sv get risadmin_prod dockerPassword)
DOCKER_URL=157.66.191.31:3000
#********************
REPO_NAME=stepper025
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/40192_1750242138305/sureops_deploy/stepper025/sureops/stepper025-back-b/deployment
#**********************
cd $PATH_DIR
DOCKER_TAG=1.1
#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"

View File

@ -0,0 +1,30 @@
# Git clone
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/stepper025.git
# angular build
FROM node:16.20.2-alpine3.18 as build
LABEL stage=app
LABEL build_id=$BUILD_ID
WORKDIR /usr/src/app
COPY --from=code /repo/stepper025/stepper025-front-f/authsec_angular/frontend/angular-clarity-master/package.json /repo/stepper025/stepper025-front-f/authsec_angular/frontend/angular-clarity-master/package-lock.json ./
RUN npm install
COPY --from=code /repo/stepper025/stepper025-front-f/authsec_angular/frontend/angular-clarity-master .
ENV NODE_OPTIONS="--max_old_space_size=4096"
RUN npm run build
# configuring nginx web-server
FROM nginx:1.17.1-alpine
#COPY --from=code /repo/cns-beta/springboot/angular-clarity-master/angular-clarity-master/default.conf /etc/nginx/conf.d/default.conf
COPY --from=build /usr/src/app/dist /usr/share/nginx/html
#RUN ls -a /usr/share/nginx/html/
EXPOSE 80

View File

@ -0,0 +1,71 @@
#!/bin/bash
#ac
# Global Variables
PRJ_NAME="stepper025-front-f"
DOCKER_USER="risadmin_prod"
DOCKER_PASS=$(sv get "risadmin_prod" dockerPassword)
DOCKER_URL="157.66.191.31:3000"
REPO_NAME="stepper025"
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"
CONT_PORT=30167
TARGET_PORT=80
PATH_DIR="/data/40192_1750242138305/sureops_deploy/stepper025/sureops/stepper025-front-f/deployment"
DOCKER_TAG="1.1"
MAX_RETRIES=3
RETRY_DELAY=10
# 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
# Retry logic for Docker build
build_docker_image() {
local attempt=1
local build_status=1
while [[ $attempt -le $MAX_RETRIES ]]; do
printf "Attempt %d to build Docker image...\n" "$attempt"
DOCKER_BUILDKIT=0 docker build --no-cache \
-t "$DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG" \
--build-arg BUILD_ID="$DOCKER_TAG" \
--build-arg GITEA_USER="$GITEA_USER" \
--build-arg GITEA_PASS="$GITEA_PASS" \
"$PATH_DIR" && build_status=0 && break
printf "Docker build failed on attempt %d. Retrying in %d seconds...\n" "$attempt" "$RETRY_DELAY" >&2
attempt=$((attempt + 1))
sleep "$RETRY_DELAY"
done
return $build_status
}
# Build Docker image with retry logic
if ! build_docker_image; then
printf "Build process failed after %d attempts.\n" "$MAX_RETRIES" >&2
exit 1
fi
# Docker login
docker login --username="$DOCKER_USER" --password="$DOCKER_PASS" "$DOCKER_URL"
# Tag and push the Docker image
docker tag "$DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG" "$DOCKER_URL/$DOCKER_USER/$PRJ_NAME:latest"
docker push "$DOCKER_URL/$DOCKER_USER/$PRJ_NAME:latest"
docker push "$DOCKER_URL/$DOCKER_USER/$PRJ_NAME:$DOCKER_TAG"
# Docker logout
docker logout "$DOCKER_URL"
# Trigger repo update via curl
curl -X GET "http://157.66.191.31:31170/sureops/suredocker/updaterepo?repoName=$REPO_NAME&packageName=$PRJ_NAME"
# Prune Docker resources
docker network prune -f
docker image prune -f --filter "dangling=true"
docker volume prune -f