deployment_files
This commit is contained in:
		
							parent
							
								
									bb3bcc51fb
								
							
						
					
					
						commit
						0f78357729
					
				| @ -1,100 +1,98 @@ | |||||||
| # File is used by sprigboot | # File is used by sprigboot | ||||||
| server.contextPath=/* | server.contextPath=/* | ||||||
| server.port=9292 | server.port=9292 | ||||||
| spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/webui/ | spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/webui/ | ||||||
| 
 | 
 | ||||||
| spring.banner.location=classpath:banner_txt.txt | spring.banner.location=classpath:banner_txt.txt | ||||||
| 
 | 
 | ||||||
| #Temporary disable security to enable it remove this | #Temporary disable security to enable it remove this | ||||||
| #security.ignored=/** | #security.ignored=/** | ||||||
| 
 | 
 | ||||||
| springfox.documentation.swagger.v2.path=/api-docs | springfox.documentation.swagger.v2.path=/api-docs | ||||||
| spring.jackson.date-format=yyyy-MM-dd | spring.jackson.date-format=yyyy-MM-dd | ||||||
| 
 | 
 | ||||||
| chatgpt.api.url=https://api.openai.com/v1/completions | chatgpt.api.url=https://api.openai.com/v1/completions | ||||||
| chatgpt.api.key=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 | chatgpt.api.key=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 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| System.Net.ServicePointManager.Expect100Continue = false; | System.Net.ServicePointManager.Expect100Continue = false; | ||||||
| 
 | 
 | ||||||
| #spring.jpa.hibernate.ddl-auto=none | #spring.jpa.hibernate.ddl-auto=none | ||||||
| #spring.jpa.hibernate.ddl-auto=update | #spring.jpa.hibernate.ddl-auto=update | ||||||
| #spring.datasource.continue-on-error=false | #spring.datasource.continue-on-error=false | ||||||
| 
 | 
 | ||||||
| # **** MY SQL DATABASE CONNECTION **** | # **** 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.url=jdbc:mysql://157.66.191.31:3306/db?createDatabaseIfNotExist=true | ||||||
| spring.datasource.username=cnsdev | spring.datasource.username=cnsdev | ||||||
| spring.datasource.password=cnsdevprod1212 | spring.datasource.password=cnsdev2407 | ||||||
| 
 | 
 | ||||||
| spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver | spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver | ||||||
| 
 | 
 | ||||||
| spring.jpa.hibernate.ddl-auto=update | spring.jpa.hibernate.ddl-auto=update | ||||||
| spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect | ||||||
| # Prefix Path | server.servlet.contextPath=/back | ||||||
| 
 | 
 | ||||||
| #spring.jpa.show-sql=true | #spring.jpa.show-sql=true | ||||||
| spring.jpa.properties.hibernate.format_sql=true | spring.jpa.properties.hibernate.format_sql=true | ||||||
| spring.jpa.properties.hibernate.proc.param_null_passing=true | spring.jpa.properties.hibernate.proc.param_null_passing=true | ||||||
| 
 | 
 | ||||||
| # **********paytm dependency ****** | # **********paytm dependency ****** | ||||||
| razorpay.api.key=rzp_test_xVnrBUjJWTEH0r | razorpay.api.key=rzp_test_xVnrBUjJWTEH0r | ||||||
| razorpay.api.secret=evTXkIFcgpVtiLa1P7M7CIox | razorpay.api.secret=evTXkIFcgpVtiLa1P7M7CIox | ||||||
| 
 | 
 | ||||||
| #***** MAIL SENDER | #***** MAIL SENDER | ||||||
| spring.mail.host=smtp.gmail.com | spring.mail.host=smtp.gmail.com | ||||||
| spring.mail.username=realitmailsender@gmail.com | spring.mail.username=realitmailsender@gmail.com | ||||||
| spring.mail.password=epnmhzsccotnyozf | spring.mail.password=epnmhzsccotnyozf | ||||||
| spring.mail.port=587 | spring.mail.port=587 | ||||||
| #spring.mail.properties.mail.smtp.auth=true | #spring.mail.properties.mail.smtp.auth=true | ||||||
| spring.mail.properties.mail.smtp.starttls.enable=true | spring.mail.properties.mail.smtp.starttls.enable=true | ||||||
| spring.mail.properties.mail.smtp.starttls.required=true | spring.mail.properties.mail.smtp.starttls.required=true | ||||||
| 
 | 
 | ||||||
| # JACKSON | # JACKSON | ||||||
| spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false | spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| spring.mail.properties.mail.smtp.auth = true | spring.mail.properties.mail.smtp.auth = true | ||||||
| spring.mail.properties.mail.smtp.socketFactory.port = 465 | 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.class = javax.net.ssl.SSLSocketFactory | ||||||
| spring.mail.properties.mail.smtp.socketFactory.fallback = false | spring.mail.properties.mail.smtp.socketFactory.fallback = false | ||||||
| 
 | 
 | ||||||
| #******* MULTIPART RESOLVER | #******* MULTIPART RESOLVER | ||||||
| spring.servlet.multipart.enabled=true | spring.servlet.multipart.enabled=true | ||||||
| spring.servlet.multipart.max-file-size=100MB | spring.servlet.multipart.max-file-size=100MB | ||||||
| spring.servlet.multipart.max-request-size=100MB | spring.servlet.multipart.max-request-size=100MB | ||||||
| 
 | 
 | ||||||
| #***************OAUTH2 SOCIAL LOGIN ********* | #***************OAUTH2 SOCIAL LOGIN ********* | ||||||
| # Social login provider props | # Social login provider props | ||||||
| spring.security.oauth2.client.registration.google.clientId=437023664181-0lm0ipgip3qbhga4nd7o4128jv4g2nv9.apps.googleusercontent.com | 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.clientSecret=I1HPyUqdJ9UONu45W1_wwfww | ||||||
| spring.security.oauth2.client.registration.google.scope=profile, email | 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.clientId=<your-client-id> | ||||||
| spring.security.oauth2.client.registration.linkedin.clientSecret=<your-client-secret> | 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.client-authentication-method=post | ||||||
| spring.security.oauth2.client.registration.linkedin.authorization-grant-type=authorization_code | 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.scope=r_liteprofile, r_emailaddress | ||||||
| spring.security.oauth2.client.registration.linkedin.redirect-uri={baseUrl}/login/oauth2/code/{registrationId} | 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.client-name=Linkedin | ||||||
| spring.security.oauth2.client.registration.linkedin.provider=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.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.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-info-uri=https://api.linkedin.com/v2/me | ||||||
| spring.security.oauth2.client.provider.linkedin.user-name-attribute=id | 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~)) | linkedin.email-address-uri=https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~)) | ||||||
| app.auth.tokenSecret=926D96C90030DD58429D2751AC1BDBBC | app.auth.tokenSecret=926D96C90030DD58429D2751AC1BDBBC | ||||||
| app.auth.tokenExpirationMsec=864000000 | app.auth.tokenExpirationMsec=864000000 | ||||||
|     # After successfully authenticating with the OAuth2 Provider, |     # After successfully authenticating with the OAuth2 Provider, | ||||||
|     # we'll be generating an auth token for the user and sending the token to the |     # 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. |     # 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. |     # 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 | app.oauth2.authorizedRedirectUris=http://localhost:8081/oauth2/redirect,myandroidapp://oauth2/redirect,myiosapp://oauth2/redirect | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| projectPath=@project.basedir@ | projectPath=@project.basedir@ | ||||||
| angularProjectPath=@project.basedir@/webui | angularProjectPath=@project.basedir@/webui | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| @ -10,8 +10,8 @@ export const environment = { | |||||||
|   // changeble url // port
 |   // changeble url // port
 | ||||||
|   captchaSiteKey: '6LfrdSUpAAAAALkYDmnvdX3GLLCArgPWNHfXasjP', |   captchaSiteKey: '6LfrdSUpAAAAALkYDmnvdX3GLLCArgPWNHfXasjP', | ||||||
|    |    | ||||||
|     //Deployment configs
 |  backport:'35148/stepper02740247/back',backendUrl:'/stepper02740247/back', | ||||||
|   |   | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| }; | }; | ||||||
| @ -10,7 +10,7 @@ export const environment = { | |||||||
|   // changeblelocal configs url
 |   // changeblelocal configs url
 | ||||||
|   captchaSiteKey: '6LfrdSUpAAAAALkYDmnvdX3GLLCArgPWNHfXasjP', |   captchaSiteKey: '6LfrdSUpAAAAALkYDmnvdX3GLLCArgPWNHfXasjP', | ||||||
| 
 | 
 | ||||||
|   //Deployment configs
 |  backport:'35148/stepper02740247/back',backendUrl:'/stepper02740247/back', | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| }; | }; | ||||||
							
								
								
									
										33
									
								
								sureops/stepper027-back-b/deployment/Dockerfile
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								sureops/stepper027-back-b/deployment/Dockerfile
									
									
									
									
									
										Executable 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/stepper027.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/stepper027/stepper027-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"] | ||||||
							
								
								
									
										37
									
								
								sureops/stepper027-back-b/deployment/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								sureops/stepper027-back-b/deployment/build.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,37 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | PRJ_NAME=stepper027-back-b | ||||||
|  | DOCKER_USER=risadmin_prod | ||||||
|  | DOCKER_PASS=$(sv get risadmin_prod dockerPassword) | ||||||
|  | DOCKER_URL=157.66.191.31:3000 | ||||||
|  | #******************** | ||||||
|  | REPO_NAME=stepper027 | ||||||
|  | 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/40247_1750247049115/sureops_deploy/stepper027/sureops/stepper027-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" | ||||||
|  | 
 | ||||||
							
								
								
									
										30
									
								
								sureops/stepper027-front-f/deployment/Dockerfile
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								sureops/stepper027-front-f/deployment/Dockerfile
									
									
									
									
									
										Executable 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/stepper027.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/stepper027/stepper027-front-f/authsec_angular/frontend/angular-clarity-master/package.json /repo/stepper027/stepper027-front-f/authsec_angular/frontend/angular-clarity-master/package-lock.json ./ | ||||||
|  | RUN npm install | ||||||
|  | COPY --from=code /repo/stepper027/stepper027-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 | ||||||
|  |     | ||||||
							
								
								
									
										71
									
								
								sureops/stepper027-front-f/deployment/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										71
									
								
								sureops/stepper027-front-f/deployment/build.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,71 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | #ac | ||||||
|  | # Global Variables | ||||||
|  | PRJ_NAME="stepper027-front-f" | ||||||
|  | DOCKER_USER="risadmin_prod" | ||||||
|  | DOCKER_PASS=$(sv get "risadmin_prod" dockerPassword) | ||||||
|  | DOCKER_URL="157.66.191.31:3000" | ||||||
|  | REPO_NAME="stepper027" | ||||||
|  | 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/40247_1750247049115/sureops_deploy/stepper027/sureops/stepper027-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 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user