From c25c9630347ab80598fd2321d91dbea5907015b8 Mon Sep 17 00:00:00 2001 From: Imran Teli Date: Sat, 1 Jul 2023 13:08:45 +0530 Subject: [PATCH 01/49] jenkins userdata --- Jenkinsfile | 4 +- userdata/jenkins-setup.sh | 15 ++++ userdata/nexus-setup.sh | 35 +++++++++ userdata/sonar-analysis-properties | 10 +++ userdata/sonar-setup.sh | 119 +++++++++++++++++++++++++++++ 5 files changed, 181 insertions(+), 2 deletions(-) create mode 100644 userdata/jenkins-setup.sh create mode 100644 userdata/nexus-setup.sh create mode 100644 userdata/sonar-analysis-properties create mode 100644 userdata/sonar-setup.sh diff --git a/Jenkinsfile b/Jenkinsfile index be7508be5..969d00c6e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,7 +11,7 @@ pipeline { NEXUS_PROTOCOL = "http" NEXUS_URL = "172.31.40.209:8081" NEXUS_REPOSITORY = "vprofile-release" - NEXUS_REPO_ID = "vprofile-release" + NEXUS_REPOGRP_ID = "vprofile-grp-repo" NEXUS_CREDENTIAL_ID = "nexuslogin" ARTVERSION = "${env.BUILD_ID}" } @@ -91,7 +91,7 @@ pipeline { nexusVersion: NEXUS_VERSION, protocol: NEXUS_PROTOCOL, nexusUrl: NEXUS_URL, - groupId: pom.groupId, + groupId: NEXUS_REPOGRP_ID, version: ARTVERSION, repository: NEXUS_REPOSITORY, credentialsId: NEXUS_CREDENTIAL_ID, diff --git a/userdata/jenkins-setup.sh b/userdata/jenkins-setup.sh new file mode 100644 index 000000000..7c849fc68 --- /dev/null +++ b/userdata/jenkins-setup.sh @@ -0,0 +1,15 @@ +#!/bin/bash +sudo apt update +sudo apt install openjdk-11-jdk -y +sudo apt install maven wget unzip -y + +curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \ + /usr/share/keyrings/jenkins-keyring.asc > /dev/null + +echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ + https://pkg.jenkins.io/debian-stable binary/ | sudo tee \ + /etc/apt/sources.list.d/jenkins.list > /dev/null + +sudo apt-get update +sudo apt-get install jenkins -y +### diff --git a/userdata/nexus-setup.sh b/userdata/nexus-setup.sh new file mode 100644 index 000000000..f3fadecc6 --- /dev/null +++ b/userdata/nexus-setup.sh @@ -0,0 +1,35 @@ +#!/bin/bash +yum install java-1.8.0-openjdk.x86_64 wget -y +mkdir -p /opt/nexus/ +mkdir -p /tmp/nexus/ +cd /tmp/nexus/ +NEXUSURL="https://download.sonatype.com/nexus/3/latest-unix.tar.gz" +wget $NEXUSURL -O nexus.tar.gz +EXTOUT=`tar xzvf nexus.tar.gz` +NEXUSDIR=`echo $EXTOUT | cut -d '/' -f1` +rm -rf /tmp/nexus/nexus.tar.gz +rsync -avzh /tmp/nexus/ /opt/nexus/ +useradd nexus +chown -R nexus.nexus /opt/nexus +cat <> /etc/systemd/system/nexus.service +[Unit] +Description=nexus service +After=network.target + +[Service] +Type=forking +LimitNOFILE=65536 +ExecStart=/opt/nexus/$NEXUSDIR/bin/nexus start +ExecStop=/opt/nexus/$NEXUSDIR/bin/nexus stop +User=nexus +Restart=on-abort + +[Install] +WantedBy=multi-user.target + +EOT + +echo 'run_as_user="nexus"' > /opt/nexus/$NEXUSDIR/bin/nexus.rc +systemctl daemon-reload +systemctl start nexus +systemctl enable nexus diff --git a/userdata/sonar-analysis-properties b/userdata/sonar-analysis-properties new file mode 100644 index 000000000..8751fe7fd --- /dev/null +++ b/userdata/sonar-analysis-properties @@ -0,0 +1,10 @@ +sonar.projectKey=vprofile +sonar.projectName=vprofile-repo +sonar.projectVersion=1.0 +sonar.sources=src/ +sonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ +sonar.junit.reportsPath=target/surefire-reports/ +sonar.jacoco.reportsPath=target/jacoco.exec +sonar.java.checkstyle.reportPaths=target/checkstyle-result.xml + + diff --git a/userdata/sonar-setup.sh b/userdata/sonar-setup.sh new file mode 100644 index 000000000..99a3a78b7 --- /dev/null +++ b/userdata/sonar-setup.sh @@ -0,0 +1,119 @@ +#!/bin/bash +cp /etc/sysctl.conf /root/sysctl.conf_backup +cat < /etc/sysctl.conf +vm.max_map_count=262144 +fs.file-max=65536 +ulimit -n 65536 +ulimit -u 4096 +EOT +cp /etc/security/limits.conf /root/sec_limit.conf_backup +cat < /etc/security/limits.conf +sonarqube - nofile 65536 +sonarqube - nproc 409 +EOT + +sudo apt-get update -y +sudo apt-get install openjdk-11-jdk -y +sudo update-alternatives --config java + +java -version + +sudo apt update +wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add - + +sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' +sudo apt install postgresql postgresql-contrib -y +#sudo -u postgres psql -c "SELECT version();" +sudo systemctl enable postgresql.service +sudo systemctl start postgresql.service +sudo echo "postgres:admin123" | chpasswd +runuser -l postgres -c "createuser sonar" +sudo -i -u postgres psql -c "ALTER USER sonar WITH ENCRYPTED PASSWORD 'admin123';" +sudo -i -u postgres psql -c "CREATE DATABASE sonarqube OWNER sonar;" +sudo -i -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;" +systemctl restart postgresql +#systemctl status -l postgresql +netstat -tulpena | grep postgres +sudo mkdir -p /sonarqube/ +cd /sonarqube/ +sudo curl -O https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.3.0.34182.zip +sudo apt-get install zip -y +sudo unzip -o sonarqube-8.3.0.34182.zip -d /opt/ +sudo mv /opt/sonarqube-8.3.0.34182/ /opt/sonarqube +sudo groupadd sonar +sudo useradd -c "SonarQube - User" -d /opt/sonarqube/ -g sonar sonar +sudo chown sonar:sonar /opt/sonarqube/ -R +cp /opt/sonarqube/conf/sonar.properties /root/sonar.properties_backup +cat < /opt/sonarqube/conf/sonar.properties +sonar.jdbc.username=sonar +sonar.jdbc.password=admin123 +sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube +sonar.web.host=0.0.0.0 +sonar.web.port=9000 +sonar.web.javaAdditionalOpts=-server +sonar.search.javaOpts=-Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError +sonar.log.level=INFO +sonar.path.logs=logs +EOT + +cat < /etc/systemd/system/sonarqube.service +[Unit] +Description=SonarQube service +After=syslog.target network.target + +[Service] +Type=forking + +ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start +ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop + +User=sonar +Group=sonar +Restart=always + +LimitNOFILE=65536 +LimitNPROC=4096 + + +[Install] +WantedBy=multi-user.target +EOT + +systemctl daemon-reload +systemctl enable sonarqube.service +#systemctl start sonarqube.service +#systemctl status -l sonarqube.service +apt-get install nginx -y +rm -rf /etc/nginx/sites-enabled/default +rm -rf /etc/nginx/sites-available/default +cat < /etc/nginx/sites-available/sonarqube +server{ + listen 80; + server_name sonarqube.groophy.in; + + access_log /var/log/nginx/sonar.access.log; + error_log /var/log/nginx/sonar.error.log; + + proxy_buffers 16 64k; + proxy_buffer_size 128k; + + location / { + proxy_pass http://127.0.0.1:9000; + proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; + proxy_redirect off; + + proxy_set_header Host \$host; + proxy_set_header X-Real-IP \$remote_addr; + proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto http; + } +} +EOT +ln -s /etc/nginx/sites-available/sonarqube /etc/nginx/sites-enabled/sonarqube +systemctl enable nginx.service +#systemctl restart nginx.service +sudo ufw allow 80,9000,9001/tcp + +echo "System reboot in 30 sec" +sleep 30 +reboot From 1dc4db65f882750c0ba4a7b50d7563e9a75a1b0a Mon Sep 17 00:00:00 2001 From: hkhcoder <137309866+hkhcoder@users.noreply.github.com> Date: Sat, 1 Jul 2023 14:01:42 +0530 Subject: [PATCH 02/49] Update nexus-setup.sh --- userdata/nexus-setup.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/userdata/nexus-setup.sh b/userdata/nexus-setup.sh index f3fadecc6..4d0c48fc4 100644 --- a/userdata/nexus-setup.sh +++ b/userdata/nexus-setup.sh @@ -5,10 +5,13 @@ mkdir -p /tmp/nexus/ cd /tmp/nexus/ NEXUSURL="https://download.sonatype.com/nexus/3/latest-unix.tar.gz" wget $NEXUSURL -O nexus.tar.gz +sleep 10 EXTOUT=`tar xzvf nexus.tar.gz` NEXUSDIR=`echo $EXTOUT | cut -d '/' -f1` +sleep 5 rm -rf /tmp/nexus/nexus.tar.gz -rsync -avzh /tmp/nexus/ /opt/nexus/ +cp -r /tmp/nexus/* /opt/nexus/ +sleep 5 useradd nexus chown -R nexus.nexus /opt/nexus cat <> /etc/systemd/system/nexus.service From c757e03a6292fc2ff8a457e59ab482c31dc8ce7b Mon Sep 17 00:00:00 2001 From: hkhcoder <137309866+hkhcoder@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:04:18 +0400 Subject: [PATCH 03/49] Update pom.xml --- pom.xml | 139 ++++++++++++++++++++------------------------------------ 1 file changed, 49 insertions(+), 90 deletions(-) diff --git a/pom.xml b/pom.xml index 03bba333b..b67647827 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 1.8.2.RELEASE 4.3.11.Final 5.2.1.Final - 8.0.32 + 5.1.36 1.4 1.2 4.10 @@ -28,13 +28,13 @@ spring-web ${spring.version} - + org.springframework spring-webmvc ${spring.version} - + org.springframework.security spring-security-web @@ -90,82 +90,36 @@ test - org.mockito - mockito-core - 1.9.5 - test - - - org.springframework - spring-test - 3.2.3.RELEASE - test - - - javax.servlet - javax.servlet-api - 3.1.0 - provided - + org.mockito + mockito-core + 1.9.5 + test + + + org.springframework + spring-test + 3.2.3.RELEASE + test + + + javax.servlet + javax.servlet-api + 3.1.0 + provided + ch.qos.logback logback-classic ${logback.version} - org.hamcrest - hamcrest-all - 1.3 - test - - - commons-fileupload - commons-fileupload - 1.3.1 - - - - net.spy - spymemcached - 2.12.3 - - - commons-io - commons-io - 2.4 - - - - org.springframework.amqp - spring-rabbit - 1.7.1.RELEASE - - - - com.rabbitmq - amqp-client - 4.0.2 - - - - org.elasticsearch - elasticsearch - 5.6.4 - - - - org.elasticsearch.client - transport - 5.6.4 - - - - com.google.code.gson - gson - 2.8.2 + org.hamcrest + hamcrest-all + 1.3 + test - + org.eclipse.jetty @@ -179,7 +133,7 @@ - + org.apache.maven.plugins maven-war-plugin 3.2.2 @@ -188,24 +142,29 @@ org.jacoco jacoco-maven-plugin 0.8.4 - - - jacoco-initialize - process-resources - - prepare-agent - - - - jacoco-site - post-integration-test - - report - - - - - + + + jacoco-initialize + process-resources + + prepare-agent + + + + jacoco-site + post-integration-test + + report + + + + + + + ${NEXUS-GRP-REPO} + http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS-GRP-REPO}/ + + From d98cb9e3134bfbb592b098b5d39294d25b6f9ce7 Mon Sep 17 00:00:00 2001 From: hkhcoder <137309866+hkhcoder@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:04:50 +0400 Subject: [PATCH 04/49] Create settings.xml --- settings.xml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 settings.xml diff --git a/settings.xml b/settings.xml new file mode 100644 index 000000000..eb788f017 --- /dev/null +++ b/settings.xml @@ -0,0 +1,38 @@ + + + + + + ${SNAP-REPO} + ${NEXUS-USER} + ${NEXUS-PASS} + + + ${RELEASE-REPO} + ${NEXUS-USER} + ${NEXUS-PASS} + + + ${CENTRAL-REPO} + ${NEXUS-USER} + ${NEXUS-PASS} + + + ${NEXUS-GRP-REPO} + ${NEXUS-USER} + ${NEXUS-PASS} + + + + + + ${CENTRAL-REPO} + ${CENTRAL-REPO} + http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS-GRP-REPO}/ + * + + + + From 0f8fd84d4485c574035f576740403ec3405d1a87 Mon Sep 17 00:00:00 2001 From: hkhcoder <137309866+hkhcoder@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:31:14 +0400 Subject: [PATCH 05/49] Update pom.xml --- pom.xml | 135 ++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 91 insertions(+), 44 deletions(-) diff --git a/pom.xml b/pom.xml index b67647827..b9640ea63 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 1.8.2.RELEASE 4.3.11.Final 5.2.1.Final - 5.1.36 + 8.0.22 1.4 1.2 4.10 @@ -28,13 +28,13 @@ spring-web ${spring.version} - + org.springframework spring-webmvc ${spring.version} - + org.springframework.security spring-security-web @@ -90,36 +90,82 @@ test - org.mockito - mockito-core - 1.9.5 - test - - - org.springframework - spring-test - 3.2.3.RELEASE - test - - - javax.servlet - javax.servlet-api - 3.1.0 - provided - + org.mockito + mockito-core + 1.9.5 + test + + + org.springframework + spring-test + 3.2.3.RELEASE + test + + + javax.servlet + javax.servlet-api + 3.1.0 + provided + ch.qos.logback logback-classic ${logback.version} - org.hamcrest - hamcrest-all - 1.3 - test + org.hamcrest + hamcrest-all + 1.3 + test + + + commons-fileupload + commons-fileupload + 1.3.1 + + + + net.spy + spymemcached + 2.12.3 + + + commons-io + commons-io + 2.4 + + + + org.springframework.amqp + spring-rabbit + 1.7.1.RELEASE + + + + com.rabbitmq + amqp-client + 4.0.2 + + + + org.elasticsearch + elasticsearch + 5.6.4 + + + + org.elasticsearch.client + transport + 5.6.4 + + + + com.google.code.gson + gson + 2.8.2 - + org.eclipse.jetty @@ -133,7 +179,7 @@ - + org.apache.maven.plugins maven-war-plugin 3.2.2 @@ -142,29 +188,30 @@ org.jacoco jacoco-maven-plugin 0.8.4 - - - jacoco-initialize - process-resources - - prepare-agent - - - - jacoco-site - post-integration-test - - report - - - - + + + jacoco-initialize + process-resources + + prepare-agent + + + + jacoco-site + post-integration-test + + report + + + + + ${NEXUS-GRP-REPO} - http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS-GRP-REPO}/ + http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS_GRP_REPO}/ From cd1439122336b16de4c89c81a704474975deac76 Mon Sep 17 00:00:00 2001 From: hkhcoder <137309866+hkhcoder@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:31:33 +0400 Subject: [PATCH 06/49] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b9640ea63..9579838c0 100644 --- a/pom.xml +++ b/pom.xml @@ -211,7 +211,7 @@ ${NEXUS-GRP-REPO} - http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS_GRP_REPO}/ + http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS-GRP-REPO}/ From 4f6dfd331c3f72c686f03e91943b2ecc42ed8eae Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 7 Nov 2023 13:52:57 -0600 Subject: [PATCH 07/49] replace hyphen with underscore --- Jenkinsfile | 134 ++++++++-------------------------------------------- 1 file changed, 20 insertions(+), 114 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 969d00c6e..3be165b6a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,121 +1,27 @@ -pipeline { - - agent any -/* - tools { - maven "maven3" +pipeline{ + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" } -*/ - environment { - NEXUS_VERSION = "nexus3" - NEXUS_PROTOCOL = "http" - NEXUS_URL = "172.31.40.209:8081" - NEXUS_REPOSITORY = "vprofile-release" - NEXUS_REPOGRP_ID = "vprofile-grp-repo" - NEXUS_CREDENTIAL_ID = "nexuslogin" - ARTVERSION = "${env.BUILD_ID}" - } - - stages{ - - stage('BUILD'){ - steps { - sh 'mvn clean install -DskipTests' - } - post { - success { - echo 'Now Archiving...' - archiveArtifacts artifacts: '**/target/*.war' - } - } - } - - stage('UNIT TEST'){ - steps { - sh 'mvn test' - } - } - stage('INTEGRATION TEST'){ - steps { - sh 'mvn verify -DskipUnitTests' - } - } - - stage ('CODE ANALYSIS WITH CHECKSTYLE'){ - steps { - sh 'mvn checkstyle:checkstyle' - } - post { - success { - echo 'Generated Analysis Result' - } - } - } - - stage('CODE ANALYSIS with SONARQUBE') { - - environment { - scannerHome = tool 'sonarscanner4' - } - - steps { - withSonarQubeEnv('sonar-pro') { - sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ - -Dsonar.projectName=vprofile-repo \ - -Dsonar.projectVersion=1.0 \ - -Dsonar.sources=src/ \ - -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ - -Dsonar.junit.reportsPath=target/surefire-reports/ \ - -Dsonar.jacoco.reportsPath=target/jacoco.exec \ - -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' - } - - timeout(time: 10, unit: 'MINUTES') { - waitForQualityGate abortPipeline: true - } - } - } + enviroment { + SNAP_REPO= 'vprofile-snapshot' + NEXUS_USER = 'admin' + NEXUS_PASS = 'school1' + RELEASE_REPO = 'vprofile-release' + CENTRAL_REPO = 'vpro-maven-central' + NEXUSIP = '172.31.30.161' + NEXUSPORT = '8081' + NEXUS_GRP_REPO = 'vpro-maven-group' + NEXUS_LOGIN = 'nexuslogin' + } - stage("Publish to Nexus Repository Manager") { + stage { + stage('Build'){ steps { - script { - pom = readMavenPom file: "pom.xml"; - filesByGlob = findFiles(glob: "target/*.${pom.packaging}"); - echo "${filesByGlob[0].name} ${filesByGlob[0].path} ${filesByGlob[0].directory} ${filesByGlob[0].length} ${filesByGlob[0].lastModified}" - artifactPath = filesByGlob[0].path; - artifactExists = fileExists artifactPath; - if(artifactExists) { - echo "*** File: ${artifactPath}, group: ${pom.groupId}, packaging: ${pom.packaging}, version ${pom.version} ARTVERSION"; - nexusArtifactUploader( - nexusVersion: NEXUS_VERSION, - protocol: NEXUS_PROTOCOL, - nexusUrl: NEXUS_URL, - groupId: NEXUS_REPOGRP_ID, - version: ARTVERSION, - repository: NEXUS_REPOSITORY, - credentialsId: NEXUS_CREDENTIAL_ID, - artifacts: [ - [artifactId: pom.artifactId, - classifier: '', - file: artifactPath, - type: pom.packaging], - [artifactId: pom.artifactId, - classifier: '', - file: "pom.xml", - type: "pom"] - ] - ); - } - else { - error "*** File: ${artifactPath}, could not be found"; - } - } + sh 'mvn -s settings.xml -DskipTests install' } } - - } - - -} +} \ No newline at end of file From 3374075f9ddf1d9ea4d909cabe791b4215b6954c Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 7 Nov 2023 13:56:36 -0600 Subject: [PATCH 08/49] chnage commit --- pom.xml | 4 ++-- settings.xml | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pom.xml b/pom.xml index 9579838c0..23b5b414c 100644 --- a/pom.xml +++ b/pom.xml @@ -210,8 +210,8 @@ - ${NEXUS-GRP-REPO} - http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS-GRP-REPO}/ + ${NEXUS_GRP_REPO} + http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS_GRP_REPO}/ diff --git a/settings.xml b/settings.xml index eb788f017..8bc0289af 100644 --- a/settings.xml +++ b/settings.xml @@ -5,32 +5,32 @@ - ${SNAP-REPO} - ${NEXUS-USER} - ${NEXUS-PASS} + ${SNAP_REPO} + ${NEXUS_USER} + ${NEXUS_PASS} - ${RELEASE-REPO} - ${NEXUS-USER} - ${NEXUS-PASS} + ${RELEASE_REPO} + ${NEXUS_USER} + ${NEXUS_PASS} - ${CENTRAL-REPO} - ${NEXUS-USER} - ${NEXUS-PASS} + ${CENTRAL_REPO} + ${NEXUS_USER} + ${NEXUS_PASS} - ${NEXUS-GRP-REPO} - ${NEXUS-USER} - ${NEXUS-PASS} + ${NEXUS-GRP_REPO} + ${NEXUS_USER} + ${NEXUS_PASS} - ${CENTRAL-REPO} - ${CENTRAL-REPO} - http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS-GRP-REPO}/ + ${CENTRAL_REPO} + ${CENTRAL_REPO} + http://${NEXUSIP}:${NEXUSPORT}/repository/${NEXUS_GRP_REPO}/ * From ffda5f833e91eba3ee8520fe1f8bb9b7589bf2d9 Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 7 Nov 2023 14:27:56 -0600 Subject: [PATCH 09/49] change --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3be165b6a..693dde349 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,10 +1,10 @@ -pipeline{ +pipeline { agent any tools { maven "MAVEN3" jdk "OracleJDK8" } - + enviroment { SNAP_REPO= 'vprofile-snapshot' NEXUS_USER = 'admin' From c72d499385d288d1b0f9d3cc356a786560c622e6 Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 7 Nov 2023 14:28:58 -0600 Subject: [PATCH 10/49] stages name change --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 693dde349..f63c3bb9d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ pipeline { maven "MAVEN3" jdk "OracleJDK8" } - + enviroment { SNAP_REPO= 'vprofile-snapshot' NEXUS_USER = 'admin' @@ -17,7 +17,7 @@ pipeline { NEXUS_LOGIN = 'nexuslogin' } - stage { + stages { stage('Build'){ steps { sh 'mvn -s settings.xml -DskipTests install' From e4f95a059b39f647643cd47827b47b157a890cdc Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 7 Nov 2023 14:29:53 -0600 Subject: [PATCH 11/49] environment spelling check --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index f63c3bb9d..f2b021c97 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ pipeline { jdk "OracleJDK8" } - enviroment { + environment { SNAP_REPO= 'vprofile-snapshot' NEXUS_USER = 'admin' NEXUS_PASS = 'school1' From 118f3de411a2fc3020202063e6697386ce59cddd Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 7 Nov 2023 15:17:03 -0600 Subject: [PATCH 12/49] update pipeline with unit test and code analysis --- Jenkinsfile | 18 +++ target/classes/accountsdb.sql | 104 ++++++++++++++ target/classes/application.properties | 25 ++++ .../account/beans/Components.class | Bin 0 -> 3568 bytes .../controller/ElasticSearchController.class | Bin 0 -> 6702 bytes .../controller/FileUploadController.class | Bin 0 -> 3926 bytes .../account/controller/UserController.class | Bin 0 -> 7820 bytes .../com/visualpathit/account/model/Role.class | Bin 0 -> 1723 bytes .../com/visualpathit/account/model/User.class | Bin 0 -> 5972 bytes .../account/repository/RoleRepository.class | Bin 0 -> 357 bytes .../account/repository/UserRepository.class | Bin 0 -> 504 bytes .../account/service/ConsumerService.class | Bin 0 -> 178 bytes .../account/service/ConsumerServiceImpl.class | Bin 0 -> 1412 bytes .../account/service/ProducerService.class | Bin 0 -> 210 bytes .../account/service/ProducerServiceImpl.class | Bin 0 -> 3014 bytes .../account/service/SecurityService.class | Bin 0 -> 260 bytes .../account/service/SecurityServiceImpl.class | Bin 0 -> 3145 bytes .../service/UserDetailsServiceImpl.class | Bin 0 -> 2296 bytes .../account/service/UserService.class | Bin 0 -> 460 bytes .../account/service/UserServiceImpl.class | Bin 0 -> 2288 bytes .../account/utils/ElasticsearchUtil.class | Bin 0 -> 3086 bytes .../account/utils/MemcachedUtils.class | Bin 0 -> 5165 bytes .../account/utils/RabbitMqUtil.class | Bin 0 -> 1088 bytes .../account/validator/UserValidator.class | Bin 0 -> 2211 bytes target/classes/db_backup.sql | 133 ++++++++++++++++++ target/classes/logback.xml | 24 ++++ target/classes/validation.properties | 5 + .../account/controllerTest/SampleTest.class | Bin 0 -> 611 bytes .../controllerTest/UserControllerTest.class | Bin 0 -> 4366 bytes .../account/modelTest/RoleTest.class | Bin 0 -> 2350 bytes .../account/modelTest/UserTest.class | Bin 0 -> 2512 bytes .../setup/StandaloneMvcTestViewResolver.class | Bin 0 -> 885 bytes 32 files changed, 309 insertions(+) create mode 100644 target/classes/accountsdb.sql create mode 100644 target/classes/application.properties create mode 100644 target/classes/com/visualpathit/account/beans/Components.class create mode 100644 target/classes/com/visualpathit/account/controller/ElasticSearchController.class create mode 100644 target/classes/com/visualpathit/account/controller/FileUploadController.class create mode 100644 target/classes/com/visualpathit/account/controller/UserController.class create mode 100644 target/classes/com/visualpathit/account/model/Role.class create mode 100644 target/classes/com/visualpathit/account/model/User.class create mode 100644 target/classes/com/visualpathit/account/repository/RoleRepository.class create mode 100644 target/classes/com/visualpathit/account/repository/UserRepository.class create mode 100644 target/classes/com/visualpathit/account/service/ConsumerService.class create mode 100644 target/classes/com/visualpathit/account/service/ConsumerServiceImpl.class create mode 100644 target/classes/com/visualpathit/account/service/ProducerService.class create mode 100644 target/classes/com/visualpathit/account/service/ProducerServiceImpl.class create mode 100644 target/classes/com/visualpathit/account/service/SecurityService.class create mode 100644 target/classes/com/visualpathit/account/service/SecurityServiceImpl.class create mode 100644 target/classes/com/visualpathit/account/service/UserDetailsServiceImpl.class create mode 100644 target/classes/com/visualpathit/account/service/UserService.class create mode 100644 target/classes/com/visualpathit/account/service/UserServiceImpl.class create mode 100644 target/classes/com/visualpathit/account/utils/ElasticsearchUtil.class create mode 100644 target/classes/com/visualpathit/account/utils/MemcachedUtils.class create mode 100644 target/classes/com/visualpathit/account/utils/RabbitMqUtil.class create mode 100644 target/classes/com/visualpathit/account/validator/UserValidator.class create mode 100644 target/classes/db_backup.sql create mode 100644 target/classes/logback.xml create mode 100644 target/classes/validation.properties create mode 100644 target/test-classes/com/visualpathit/account/controllerTest/SampleTest.class create mode 100644 target/test-classes/com/visualpathit/account/controllerTest/UserControllerTest.class create mode 100644 target/test-classes/com/visualpathit/account/modelTest/RoleTest.class create mode 100644 target/test-classes/com/visualpathit/account/modelTest/UserTest.class create mode 100644 target/test-classes/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.class diff --git a/Jenkinsfile b/Jenkinsfile index f2b021c97..a4543d7f0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,6 +22,24 @@ pipeline { steps { sh 'mvn -s settings.xml -DskipTests install' } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + + stage('Test'){ + steps { + sh'mvn test' + } + } + + stage('Checkstyle Analysis'){ + steps { + sh'mvn checkstyle:checkstyle' + } } } } \ No newline at end of file diff --git a/target/classes/accountsdb.sql b/target/classes/accountsdb.sql new file mode 100644 index 000000000..d224d810f --- /dev/null +++ b/target/classes/accountsdb.sql @@ -0,0 +1,104 @@ +-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64) +-- +-- Host: localhost Database: accounts +-- ------------------------------------------------------ +-- Server version 5.7.18-0ubuntu0.16.10.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `role` +-- + +DROP TABLE IF EXISTS `role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `role` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `role` +-- + +LOCK TABLES `role` WRITE; +/*!40000 ALTER TABLE `role` DISABLE KEYS */; +INSERT INTO `role` VALUES (1,'ROLE_USER'); +/*!40000 ALTER TABLE `role` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `user` +-- + +DROP TABLE IF EXISTS `user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(255) DEFAULT NULL, + `userEmail` varchar(255) DEFAULT NULL, + `password` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `user` +-- + +LOCK TABLES `user` WRITE; +/*!40000 ALTER TABLE `user` DISABLE KEYS */; +INSERT INTO `user` VALUES (4,'admin_vp','admin@visualpathit.com','$2a$11$DSEIKJNrgPjG.iCYUwErvOkREtC67mqzQ.ogkZbc/KOW1OPOpZfY6'); +/*!40000 ALTER TABLE `user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `user_role` +-- + +DROP TABLE IF EXISTS `user_role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `user_role` ( + `user_id` int(11) NOT NULL, + `role_id` int(11) NOT NULL, + PRIMARY KEY (`user_id`,`role_id`), + KEY `fk_user_role_roleid_idx` (`role_id`), + CONSTRAINT `fk_user_role_roleid` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_user_role_userid` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `user_role` +-- + +LOCK TABLES `user_role` WRITE; +/*!40000 ALTER TABLE `user_role` DISABLE KEYS */; +INSERT INTO `user_role` VALUES (4,1); +/*!40000 ALTER TABLE `user_role` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2017-08-28 10:50:51 diff --git a/target/classes/application.properties b/target/classes/application.properties new file mode 100644 index 000000000..c04343d72 --- /dev/null +++ b/target/classes/application.properties @@ -0,0 +1,25 @@ +#JDBC Configutation for Database Connection +jdbc.driverClassName=com.mysql.jdbc.Driver +jdbc.url=jdbc:mysql://db01:3306/accounts?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull +jdbc.username=admin +jdbc.password=admin123 + +#Memcached Configuration For Active and StandBy Host +#For Active Host +memcached.active.host=mc01 +memcached.active.port=11211 +#For StandBy Host +memcached.standBy.host=127.0.0.2 +memcached.standBy.port=11211 + +#RabbitMq Configuration +rabbitmq.address=rmq01 +rabbitmq.port=5672 +rabbitmq.username=test +rabbitmq.password=test + +#Elasticesearch Configuration +elasticsearch.host =192.168.1.85 +elasticsearch.port =9300 +elasticsearch.cluster=vprofile +elasticsearch.node=vprofilenode diff --git a/target/classes/com/visualpathit/account/beans/Components.class b/target/classes/com/visualpathit/account/beans/Components.class new file mode 100644 index 0000000000000000000000000000000000000000..5e3095d476381f37265195b2371eb8853388885c GIT binary patch literal 3568 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 LZ97|)8Ug+X?n&^R literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/model/Role.class b/target/classes/com/visualpathit/account/model/Role.class new file mode 100644 index 0000000000000000000000000000000000000000..929351b9cb605440a5a2743747c882ca1cce7e01 GIT binary patch literal 1723 zcma)6TTc^F5T5OwT7?#mt0I%gmf_zWHW$fBpXPlZf*4HclaprVYEHpPEiv)SE&bn@SgkVYe-% zH|(mc>j!pS#wnsv--$RCdRUD+sdr#C8_YLr)1VFq1r7xUGDU*7jIyB2+*|+fW+2K%Tya0g>!QiFxf;A zNeWXsMR(~Qr!_6P*KQoiR#_a?U6!^X>J`y4`R*GdPy!@pZ_3N+AZxTH)h@KiLFVM^$@nCkHy}@_WfZvnh&G z0-*r%LI8k02p@(MW_FwU1|PGx9#>V9}ke~y|B*8Hm}^BPf{7j8jS@6ZnMjm zC%RSG**XB#hG;fr^&Mo5w$NZujvK-;L>1#Q5dgC3IenOLp;%;XmQvJ1N$%1` z3VMjb!uWlJDa0d$Q-~+P-BB&Pcic12g~p#8)?Qe2>>Bpy{CDd6>V{;n#$029`f*Nq z0W?5^xS=+>5AX*#r?C%VABJ^A(kP8}VV=|Y7x+VTiJ1+=oOBCdLK}zCH+u~c)}4vu zXb%1Gbf0$x8-;ZNwkMLF(jw^&J)`FzNt5(~Uj9Ql-%WWjfO49a=@qo_(yX{3A8^0W wFwfM(ZU;OK^Ps+T4Rvo+R`J5?dJLZmpF;E+wh*nkW%S~-j{6&U;tp;60VlI=mH+?% literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/model/User.class b/target/classes/com/visualpathit/account/model/User.class new file mode 100644 index 0000000000000000000000000000000000000000..0e90c2414e4af077c7677e3cf1815e2f33af9942 GIT binary patch literal 5972 zcma)=`*RdU5XXD-B*{X^0YUHyzIdqT13>|UAqEMCB$5zRRNUNcjtzIa=k8u4_&`xm zQBe>HWp1J(`_qXSX zXcc|fOmzlbp79FlNhc^-`Jxr>cEYrk$#^9Wr44OM(Ou0Z zV-t2JY^ElI=Br-EOAp(=W96NF)>z&)sLsj4qQ7R+@42~k2F)tLoof}Kl8TKEhrSby z7p)+8#Pea@!m7Om%gGzmUg_@f+;PV*7}Q$yy>TaR_Z4ym&8anpum*$LvQ}shj&F2) zZnci1)Ak3{w5Uu$danWJ-veZ4WOI8ly>OfTXAV|G?f#%q527Qgbm$%`$Jql$hbn@7T5OHo9c5?7k@}aeQ`sn)p z|Jdjl6oUY($oyvMfqHRz0dl@S~idb^H z+}VJv0_2tdH7{oxW^K&bVITHCwQPATL(2KHXd5!qDcGY<;9!Ps*Y&Vth(0FhRO)-v zh)>`IA%`g4mxafr!oZ!jYx_u&?5LG5*-)Algxt;{>i?pTnMS6Htl!YRePpnO47%B* zW|{@=AmX04OvmQnwP97fz$o|UPg`3#``Ot#lUk@1>Tp(5Ul4a$)~+}mDjyiOzTKp@ zigl&mAhSHRI!ml}he;-@ndM2!hb#rXidFTTT`a_I#JAi4DHyI}Z+#}sW^XBYn_)f+ zJ~^MTJsp)b$I|o`z3=}g=OqHzR?D3l@%R%PB$03N99Lx}Z(y_)s?6--gM_G0V7$l6 zmkOLu(hTe%Qh0hGE~#PBF|uy2qqT=`zl;YCKZqO|6E5cl1`R z^Z&+!Z9AtQKBQ^+0M6!(t(Hs1*=5ok-m}@fXVnqx(KJo2rL3JXshzburfEl&b`C7= zs1;jQ&zUrr)#pGxHiX%ryQx}=S#^&|9Tkq+NTj*7TBljlGbvTktc{@1!6(i#ia2Wp zCe3557EB%WqLf2pYrML%;v*)_XT`ZtoHmFm4*emm`m@QSCM{qSRQVa>SS+kYY8M0> z>^G^C4LA<5A(VceLBBrO;%So>vIXvjnF`oo*bUFTV%YLolP+M(PFM;mQJjX=Ma1ea zn6!x1IZjb;w1U`G#A+{_w79Z@*pNXB<0P>WHhR^h3)yI493`d`%`{NE=Gf?@Nf%XS ziVa0|v%h=^vf`U2UCfGHAS?Y*M0e=-Bdfn-(j~0U5uKrcm%*@C@-y}(JR}edF1Xk6 zlf|ILLUrlI%@cBEStJZrs|wcyT7s$T@z;p`tmEqe53V|{>`J0WD~TekB+93fIFd@@ zuqlaCq$G}rk~jcLBE^+N1}llQR1(>yByvbeWQ3B~Y9+CkN@9DIM8uUuK$S$KltiTh z`x5niDW&lp*F8S3L=U$N$i@|4(^a17@#_Oo&^G4C@FKE5D>wHKJD4yBb@tMtSIr zw8~UW%-h0?xrJ^m`>HMO9Ie$s)`}qO={5;utq#%!kPQhSoEHqzC4y|wL3%}yZW&~Q z4ssVj`V&AnF&Si|2-2g2Y!g9xWsn{nWE3Df5XRZl_@=qd7v`qrU0@p0ffsigV-X-xDN7| z2(nuS8P`Gf1LVmB5WWW(#1TOzbdUogNL~h+&_NCY^5DglHaqzv+s2y#RR`9=hJMFu&dgM0^&?-M}yMa&>aMUZ1U z$axXuxD0Yk2l)XYKPG_ilbk_b6G2YsAU}y9ugf4Obda9`@=F2;|0ZCNH$;$AI>@gg z$XhbVDIMfDfc%~S!aqtF+O_o}^gTKtdfMXAgDeQ`6HL<>vt~0Po2_{Bxjgs)K9sobp{;@! z4>QBS@PB;s@%i=+;0osjMhcf&8rr$GV;?y`x=gIKbRknRQCgQJz0gX$S?$*XCkhue z@0dIXOZS`F=v-i;a4pGF8Ay8qqmM&>?>%38z|HLi6 zNea`ovw?G$`is}MP62a>Nm1AelRbOXq5z8-juzn!nm)~{*}N8#n8_%9p>x{ Dh8%Pz literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/repository/UserRepository.class b/target/classes/com/visualpathit/account/repository/UserRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..e6e9ace0f46e84e27ae0d490021a9437b07e8501 GIT binary patch literal 504 zcmbVJ%}T>C9RFp0belSby+pkj5Iso6g9pJ;5G+2x-!`kMZBo*7vYXH4!3Xf6#H0h) z9faW_2?_cCKEJ*{J^@_dIKY76Jk=Fn$fl*TCi@~Sr!>{AvfPMTH_~dej9(F_)o2s&P3VCj2MP1u=|W53}@R;jT7CPRNTqZ(N8xWpLs0|qeSM4 zY-`+)_ny9008#ue^VeIs>aoSzWpNX^v>A5X+H-9VTq6O7@Xd@c_AfZ-_Cp+X=i~>A CDxtLi literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/service/ConsumerService.class b/target/classes/com/visualpathit/account/service/ConsumerService.class new file mode 100644 index 0000000000000000000000000000000000000000..2efb215f0e54db24e36cc1add4d54e99d1694dcf GIT binary patch literal 178 zcmZ9GF%H5o6hr+Bw7>!bhk%7JZ~~Cn5JM#vrttMuQnd|gk{*tM18^urDwtR-+p?bg zdOw~3wwPo{2phJw>WmAzx@&(kUTJ0<8n2wRoncXX+qh6mn}2hLAz@zXPOC~cg*shJ yVNaOxZ+8^ubRmS%^0Hf<3Dew$mgQioST6o>>zqN7o;V&eX}f_kGxzHDu`|HT9G?a?c0YzDgdFa7CKEr6@^Il8|_+cwU{x4 z5~ZwSG`2$}m8K|4S5mx;W!WD0B$+d$3bs?#-MY$j-{GeCW;;hZH^0_(hnLH$CFkb) zPV=N7T~AoTp_t*av?}CDKx>@;K|CLVs^KCbR z2zn=Va_`>fmhF?2?q3pEO9l~4VoG&%xCf7r&@g@3=!A-5Mv=q}34u@;ZndN&ZT&q} z*CQCg&6I{YhLQh8mi1+=BAhT52sK_h{v2;BzY>p6M=*;;75XuOCawxJSyUEJqI9oT zC<|V%3#-B~f1T+S?{?%=7*82kGuB!Z&!H;o*{$3eh7!puo~a04;FSha{$Mko%b7-z zR)jSrEw5%#l`Gui41rSiLadc@u|{@n-!a67R2O9QntQ*XVlX7G?J*VK5w>ch-u_jj zs9)3x8X+3v&=97%hyFeRL})N|Iq7|aPIQ_X&7qky^nY)f+@yDR^RO2&T1Q(37{n0m zs1Fz>kP%uZXg5k@tOS;(KmkmoahpEeN#m~Cx#-0`7x8AOBLs;Q@bDKV_h!%VVC#ok z&+f(M&!EqpVkx#tuTwlb#rg%68%?Ki;y-~YLRXaHEuc0ffp4Vg- MK)y*-rLzJ21HJ-xd;kCd literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/service/ProducerService.class b/target/classes/com/visualpathit/account/service/ProducerService.class new file mode 100644 index 0000000000000000000000000000000000000000..36065ad5fd89d279536d36f91774a364be291b64 GIT binary patch literal 210 zcmZXOI}XAy5JYGBBtU^EI0J$PQ_#^2gz!u{aJ;FwsyJ)lvT-NMw+6$J_gvtx2Y@?+TXKSuODw}mW#egs?xM5Lpm5bA* zP|_2ob;li*bDS%}VtM#dnYX&icdLJkFv(1?QtfpaujW5>>oy}H5c=_JfMWX)NxLD9 Hvxm_KHF-RH literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/service/ProducerServiceImpl.class b/target/classes/com/visualpathit/account/service/ProducerServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..cfe2c6f06e6948e4c486ed31a00592090b5418aa GIT binary patch literal 3014 zcmb7G`EwLS6#hEbY&OFc5D4c2fh3TyT%r<0lMs?97hZr0 zc%k5d;vMhnhlNO$T-V;zc)Y!?tx=$~b<%RT?^<@OmWvu3+w%?E?=|8n z8A6FbC?P%1h)GYNXt!ls{vLt+%Bo(0f(EBwhLMl?I&{ntnAd9AvOSgPlWvdE7nf=i z$28)-hHI(!tgwIp(Av({yA48tLMP`YGg!4{923}3IWv~3nIa8K1=g!gU8Aqh@)IYc zX55lY0;9GGt>xJJ4AXbqkua8Eei+NKQo{;?O|yEM@~yZR?F#I*ojkxd9jmaKSj411 zE^c-_Utm#X4xiLUYjmu|Iswg-erD-CxdQ4{{;b!rVY>NF$MwUg#6}HO0t+V7+G6`M zCS4tyP|ZXp4cC*D3FNfjqI}t`BZ@58}Rdv)woA(Su# zC9{nLnXw%A>v%xvES!Qyr{Q_09JgQT)#}(it~XV_N5?~Wn0&P5smbIBtR;s3oxs{+ z)MKxPhTBS~d&Ki)LPsO^k-bhzVUQt+<*@WD+h++#BT=iNSzyT|gqg~yPg(JP>4xx# zz~V`NB2H4;5!Q>J^1^6BtEz)_C1^*dh7N&M|Lv-d{pey3NvGpUpHsa9zm(s5Y99P*uv!(kl7F%6Fq`5>0tqtx+uz_+9dJZ>w8pU`2T zkARzm!Iuq#1}h>iuzEJYGYe`%pnpXJhD}UMFn~b~F@fbd1J9`FuyBI)Ay1nW#N=LS z#toOfqB{raXBKhp{MWVZ?<{Z3S}f0+>=>eZi~(WTNNR9yr$o^6bex1s;Ks!*RJz8JY8^USUPUPt6 zW07w5qez8H>XV8FPYKlIz-4wigz$`js89i%(ea#W%Y|m#@ni|Jd?th!xlv08p^{0} z@4`5X^BT@gA4ke6A)ZKC&0JO zNM=vTaJQ3kO}Wof=jhTL*MrRpVu7+QUL%-_Udyw1#@5-k!-mAvlFOB?jvI@5Dt)m5 zmpz$%cPPqM=t{>QNy=#Uw!!W77RKy0#Mzvsr{N1K=PKe{6xJ|G4`*A=QlCb74c`c? znQi?<8IuCz6|Ld>>>)h;xn;J=XnWzZ1fSj@{=9ved*=e)b{IhT?s zNA?R8ZoGkcKL<+|@L3cH=c1HzJ+lA{v50R>KNj;zWpRxg6jJu*Ei5^F17&U1H?b^@ z2#4~Us7RxRv#n|D;Ba3WyQBX*-9pph(v}-|v}O!#0%>%oaWIV|d_69(tDvl) zG+b(qLFVINFdq_|(nyTKE5x|^DXLRAQu;I>8TGP)F+9ueF^1;_MzOVxYfE3CUGDqR zDAuU=VCz??OWB19O}@NQ`sPo>2DpqX>=0`Fl9ibc1xHs9`U>K>4)aisGOS00*OChU zs(BA-LKQl&kw?%b3{i3pHMoS$v=PNsY{7MGrL}EzYCC@C75NX|9Tc?9%njkoLaSz% zgItAh0dM0S`csV<{kcj%ISe%bHcf<2Xrw;mp=b%Pql_IcrKIl_prm{Y0N6CxR$5uI6H= g%I@-?*s7};6A%pie?Z_pM;N2?4KeY=*LEDy2m6moFaQ7m literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/service/SecurityServiceImpl.class b/target/classes/com/visualpathit/account/service/SecurityServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..5f624412626d4a639db1d9afeeba0470be667646 GIT binary patch literal 3145 zcmbVOYgZFj6x}xj29gn#ih?gts|HX_%G~Z zRno3@wO{+Sf2Zy0zB3~vkRZrfr*tQUc?aw_q&VLCtik zX86Jm4b!r`nj0E{^cQVQ8bxWtr*j@bJ7YmbP1f@ zu0DZ&vlhOPZfIL(XnXEm(={v77nmw|e#Ho?zU@}ZzPTWmJb#|BVmL;#lrh;#NnT*^ zA)T=oFjobX32({vWr=G0YK+fy8Je~e zB#{xg)>7XpV$1WTq2x-jobh;r4r=alyh`MMU#!h3kIxx}Xpg7emo3M3?eK~~M{Z@3)>yjNS8mHs1>!DJW;o@F{Srf;kFWV7pXgfN2+9M*9VyNHsd#eknLY_~jAxzX)C zW!o)9z)N>r6*iak!0p^fgAc_}l}bK?_i;kQae=Fw7EqK9%X35dUAS81Q}O$4&nZb? z$4TS_G7MU>FYqxf9fD$gO&q>@G@*2)>$>lce$YKH)bX>$yfh_%AtAMPMShd~PPz{M?fgQ!r zwC3-c)ucRoO!Al{vt5CcjT}hor$I-uGcu!C@QIEr^enF7x`rvfzdc%Q+$qMbRL2e6 zB!?W&EGdt!EwA}C-2&KF3a^btCg8Tf^rnazmWDPQH7CWg`)myCyrt&MKl0|KtJ3nR zj?YjK=uOJe_7S+6I~$^#u5 zy0a+av4%$iliTsJ*{5Xk=$OG10lgs}Y>F7HHqB?@c>xH^HI?v`$0?=c$foc+Pff z2MwpP6t(s0iu^A*NcwSA)Ss=fKgtnuTz_B-mHsOcBgUxN2+ol|6VW#NSd`sT6 z)c_u7aXmYu#=1b8ItZmNy>PjzZg$ZPFOMVaZXNvZDfH#Ch+~BGd zbdJ8pp*2y31GJ(<6b^oXAq;aB#D0{&%Jvf16xSmwI9A7qKploaVeC&#yu^;NKQK|p zM*^?JD}K}wVcJg@fkS*dOm_|u;}H6(cnHTLV|!zTiLqYZvMwP{GnXmFApL_Ojk0WG zxRQYQn;JWLdVlmMTpg=pGKG7;;?~pCr%u;#N8mN?UP|-q{$RR}hbcT6O#h6}U*af1 ztF13m_yGfb-=u#-$J36n;tFQ#c#(n%MvVDHl$snB%X$=z^8&V1(w^FFBR>dOl EKLV(m2><{9 literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/service/UserDetailsServiceImpl.class b/target/classes/com/visualpathit/account/service/UserDetailsServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..2b6dbe5b09a5e0e304676fbed6b7c5417ebedd47 GIT binary patch literal 2296 zcmb7F>r&fB7(HtYBDM&DG_)j5+Cb6*2~nHUCSa0q3Afak6cZ@)y2uMCktL5Llkh5i zf&Oi0I$ihW*{MO&-RPfrW2N> zTawX+6Is%>{jwKXp$aw~TUpOId8{JoxM9AsG*c|O29g37p36;Xxzby==2o98J2KED zFyaU6R#*xgZ+$J0MfK7TUJ%VL2TrtQ*?yp`GBFDk%sTi2=k&YG#CLifSWP0mHd#0+;Olsnltx9p? z47?{WRWEgK2h*-epk!grbGI7EXmJh# zS4|jbPU8byH}Ijr-TzM;6J6*g1=k#}P@UDmx>-FDzerBFF(WeuZVI%;B`HUaYfZ~= zBd?+qZlE=V9`qUL73e+#l!;ro&A8W9H1E5L)JNU$aCD3wck{c#I z#a-TYA{9uoTcD%n?#$jg0S54efzQdVLxBBV6ZdeRl=sxDNZ_4)genbSxI?E$quncger!a_zCLUo#z+h@}aTnD3w$}zJWH6??bX?$4 zy@D?4^i7zU#1z|G779nsRdg=XyP~r+W8w+Eq|pr-=Hi4<5LOJ#l6a?wbyNg373NGl z)nTL=#(qQV^?4Kd{q?6Z45_Jw6tZ}xW1$2+s1wU^5vXFyxbM0YY&KX%OIWjZrlKD0 z$M3P;dSBq?$x>CtcM@m4wnUDmYHO8wO;n-=WWgCwHCcGPqgF(>O8Y`OQHwlWS5s=` z=_rRX4{4w!A4&VgtSrR>ZNRSi#Z@RoG0gkrz*duv_Wg>k((&Kp9o;#&PDN_q)5s^G zg^A-iN>vlb6vqTd{xJA%;g`ixaBS?`#`$04?F)SC!$3RQ_|`{xfL|9mvj1?220A!T z^6T9gJk41rpUW$_665~E3r#%oP2X>L|JDw!B`~{-8_V1HD0llcKHfn;b-3|obagiF z;4^_gF*ua$-$iD*Gx-`1wlTVc#|bRy?P-CZ-u%6b>@u(F>tFS6W8s(B1MO`Wg9Hty zag{z^LqDZ>gyR$LJjyjS7Iz^ZEBGI!Yd`+*@HcDtkY2Pjcll5^tF6CIiC2s(~JZJ#5ef?FtllA_4Uue6y4G literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/service/UserService.class b/target/classes/com/visualpathit/account/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..35f247fafbfb8c407e717b348a24f160acf1c3f1 GIT binary patch literal 460 zcma)(!Ait15QhJ(b-TOjT78NZ#9X{c#e)Z7rLc#h_n5|-B~7JG3ci{LAHatar|m&m z5PF)Q;h%5*OuoK9J^@_eEX0iALe>@UbnAtA6Yf_d(9B2R1s=82SV5P|u!}>+r;_kg?TT#*Mb)5ZjbJu8FrpY86 z!(xPOiax@_)TyvkF4HZ=KaZ1fxp&&|zLzpAb6r~Dd^3dGH{48$c1xU9Ui(I>du<35 r{W<1k|K2$R!vXyV5YTN8F(<(gVlmVuRzp3)G5Jo&HN%?J>7b$?(SC*- literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/service/UserServiceImpl.class b/target/classes/com/visualpathit/account/service/UserServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..68c46379259bd86c8138cf7ebde85eaa578cfa82 GIT binary patch literal 2288 zcmb7F{c{sV7=HGe_GogpB(x}MsmO;(Q+fzR!PG((CgkSZ>SgNI&Fun+FFn zFu7&9p%a+C@H)~G=0kd^_TIN!ZCgi*;p7wE;ik=uguEx( zt}g@E>oTlXMgn;KW09VLRf*xu9?6w0QIo!`+hW6U+<*ttb$o^!71wK;e%q5ybKm1F z@znKxHtT{rzPZmW#cT4ufw>U|?o;WB2EopFt}O;cQ56I0TiW;SOK0#ML;8YpEg!ECAhU!>A!N3xVB->BQo=?KWstYw8ml?9rb;3Z} z=3VX|R7Id1W*W%A$lya<({Ys|HPT^;N;#g22G#s^27O;TjSbtTOnBkDh^!+0fIPR1 zk5%g2pt6cJMqkUWZBv<3QBed{+&(c-!WzQ~x|iai?8zk!NOv6Tbptw1WN;gsIyT0X zuA0uE_6)p*GQ*{$*Lr>DnA_tmN=emO7%q;LkyPo*C7WHv=}?PcxS1q+5uUNY)HSya z+`;GM8l|EKm`h|$j7O26OjcfJn6ApE!-LR^xZ_OfM`dj+=Jk@|zDBgY+iW*fP3{!N zGESq4hdLgRF9y|Aah;}t8Xl3<4!1+GyU%b+K^{L75kEHY4Ze-jYuBNREX7Wgu2~h- zZEX3g>NvwArb&{^b{NuCH}ouVN2*>mr$R!;>OZ9ZJu8Zst~I=K2Er3=&}|FFr%XyX zN2N1C&m@hSN<(^|roZ15&1sr7RaLL-QEPf>Z<5y3Pif4Ol}R(Bd2;C)a=%9~b2KVY z(4l!66(}9RX}n1@qx?NXqcV1pB3c3|F8zVGi-&mk5bqx%U;GQpk7;Y=2v-=M;iE&` zq~)i@Biz#PXh4%A08j3HTp^-(6h* literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/utils/ElasticsearchUtil.class b/target/classes/com/visualpathit/account/utils/ElasticsearchUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..36805dc9ec90ef6a9c4447f6ae581b658c2f7da2 GIT binary patch literal 3086 zcmb7GX>$}s7=Ak0%_QRh5<(!H;Rxm;g9wOOP(uWXgb-PXhSSMxvkcjtS!ZSw;)Mua zNEO8wtNaCiRjk@jrt}B+qtvHoC)sSWYcQ3a?&*1tr=R!e{_F4G{{(OZKWJzWIAnWy zbH)jZR<2-$x1G?mY}+fkp;-)_TwtEgSwZO7fwX-4_GK<=q$C|OsoaJWC3sZNb z9SSsg@uY9GuE{BBxq&(C_?Y?rf3LrE{$}T9YiTa>trX@Goj-Z^l0c7=y~BBGSG`Yfwrs+t8(?M7jPeKq^Xjt zu_NW?pn-v!dgCNn2^=!;suI|;((rJuNVCbzv$;t>Bn!rrQ69Z@PE(1AL-bUR#tfRhv5m7Tn1Pr@O<$%k& z&~XmuHH@-|UmVV&Jp*I7z}zjU+`UqRn^n}LYL?I1u-_MGaT(nu%xMFca9JQ3QKGuX z|FN9X@PWYK>K#`~IIih&Un=s#6&0;vl1;LbWy9(gFwSa0^1^#lrbxU@pm0l$Y`(yHdeMW z;)XISeFGA=n70MX4G>;J-H*s5S+7W24kpd&Czg)+(63GedjzwzXiF(llTmv2o zY-v^|v&4H0Sz!7Cm#L z>DA_0xv{FM%Pp~WS%~9?xKdE{K=#fm<+$yw6jhy$eW{$J0!L~k+gh7ra2FemKz}U@ z_0m;9(0hDXRdb>a_K1q}Rw241Xn0V4>P4rHhOcXPoHalT=xML$+wzQ~E+y?%XOFrk z4X8vGDCfw^^Ishx(hKJblAYC`acoJr#)#`mKdL&(Kx=WY>iqcU`oUm7?j`+h@P z#gHB?ZbAZ^BV+Alq1YJ3BUB1YJGRgSO^N%&r;z^i3|m`wmC*SNZ6zEy7Y+TR(O{mB zhQni&S-{cB*4O9pMsEqJ65fh5Dyw}-a%FOSm|gT)@O+N3!t` zd^nFQ3%EYHfSZ%Oea~UdBRh{fCFBPaKSLi(b|g#qxFhikfu`{oPgq!u5nne59{e?9 zD_QE`X0~A`w)5t)1B0B6V;40#*;@DD8uqed?PF)^M3xdE4&W{?1P?iWi!MCk+GAc! zo}dp;(T^W_*-&vfOIkMY>kMZ3){Y0%nkAB*_zZKLHBhgJPdIC&uQT|R>j`@3!sqyc zG(Y9<9=_!BKJ|B?;UBt4YWQl||3e53eiJQxLzxERS&Z{{eE*(5ogUBe^nZkwe*uaA Bc3c1e literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/utils/MemcachedUtils.class b/target/classes/com/visualpathit/account/utils/MemcachedUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..8b7738c259b82386d140325281c7701acaacdb6d GIT binary patch literal 5165 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/utils/RabbitMqUtil.class b/target/classes/com/visualpathit/account/utils/RabbitMqUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..5c144de0ded33ab9644031a73ff43b6eb8a43d1e GIT binary patch literal 1088 zcma)4+ip@p6kWrm2%g#th@$mUZv}~+7avSelctIB0ktWX_u(+bsc;5o=Fs%7yd;|V z;0O3o#yvm*DI~tk>^*z0wb!hf-+zAo0`L^&3=$00Q1|#i*;sV@!hKMVi!ju2qLf*VMULFYJDkNONz+yeckKpNJh@q2=-h> z%DrSrmMcw$)V^-Z9Fn*kAcIQ`YjqXLw{fo}&3n=6N`}q44n?;qjPm*TFh!~@!;|H+ zFW!WvuUhG*au{~Y%Ly)s_j*f*_w4w!YLh*m}hluI^6b+iaN(e^yH~F zANh#pScFcSGcG0oz85=vs*G&cvS7FxAdMBee@D7=`(JBIMiR$_|9Jbi1~%KL~Ko*K-XWn^3+| z{?Rth@8G}Cu9weHUg(c?(n#&j`jR)K8K_X!uuX;}>Aw=GcZH%Ais^sQnx%}>&S+0R z{(;;V3K9s$O`vF%;$YN(D_En9elRwuYjfO{r`;31ph|-FboCnwQ=;7Pa2+WEd9vcD zX-r1#Lsec2IZ70sYG*hQ$b3cNJFb7Gqghq?A(5Yz^;Rzg-I@m#XF&7@3qg11L8TcG XJL$+POh literal 0 HcmV?d00001 diff --git a/target/classes/com/visualpathit/account/validator/UserValidator.class b/target/classes/com/visualpathit/account/validator/UserValidator.class new file mode 100644 index 0000000000000000000000000000000000000000..3bc9554b57f9ab1bed1874610c9b173e889e8587 GIT binary patch literal 2211 zcma)7T~`}b6x}yK5<)06w0sn6t1XfQ%2ce{8l+M_lp3IIN~-nqGECCjCNptnLKnXI zZQt0D6}2sW$2B%R%Plr%F?0(IK9oDss7SkPY-~NWOh1OG zK-zK3hF5cyT`sw@YCU$`M@<;z*v3AFKwq7h1ttnwN2RQoU)ZaFVL0F z6a~5$ooy?DE(|2mhorzjUfI@qy}D(&cO~x?NaY<{m2oMx$HcxVi*&+(2>+CgdLk zcm-z}z4Z-Mz>80}qK5emZjQ>p3xShI91|FRnTg$6lZ{h{jkSvmw7~(Rm}_%i+axxQ zXe}+fuH%xBVjL3$({i#Yxi}^{TX+2BYR%tGAcLtGvQ$_*O|-xjLwOT<(^nNQiD_J- z%v?*0d$kmxZMgSXAC^~>TC?lvW4hQ9e!)VJ1*W@^Q8tHD6u(1#q}k6}(= z;(tgAIZt99*Xd-)4T-DM$;s9f{zsU-5LieehIk(qu^hvaz;s8Q($&MopTr726gW{* z_V$h41D39}aUj#V01ql47ssl=_)@)AQKt0U5ERG9)Krc2#|Ld&Cu%K;^=6`OHP+*} zb%f&9Gk20G=rbuMw|QpKu}jLW>ST_`!53$sd7`ls$0q`3msF{Akheo70>aVn(7{vD zs90UlL6I;!$CN6cJS`6@;aJQG^cQ?-K3bEt#>g+TM%W-G4g96#M zu6VxXT8__0!&r2xHOIDWKZn;SmM(rh{32R2?0fm|in33z*L!@I+4gg0uovumvd?ki z7Y-sAWUGxqgOhBvDGiXq5POyuPSa|b;|N9qkTs4XoX1k5Q+qh`GlyL*Fhc>%aA?wi zp)p>?Il`T%b$Eqd(cTNZjtgw*pBN%iH!Yq_{ejW->D0y48^0obX%91dm>rBh#Xxg> z{wMV7{i`qVUKg^@@PXcWfg2J08SZ=(>`bR_HZk%VBOYP|;}GL!Y9p}Z`P=-sbN5G$ zu$j6StZSOW_-5%jDD57cp||6h;6K4&6xSKqDx_#R*2OWyMpSNjqD8xt{%_KuzF9pU!ZT#P{OCw2??7h!f+vj6}9 literal 0 HcmV?d00001 diff --git a/target/classes/db_backup.sql b/target/classes/db_backup.sql new file mode 100644 index 000000000..2f17a4df3 --- /dev/null +++ b/target/classes/db_backup.sql @@ -0,0 +1,133 @@ +-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64) +-- +-- Host: localhost Database: accounts +-- ------------------------------------------------------ +-- Server version 5.7.18-0ubuntu0.16.10.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `role` +-- + +DROP TABLE IF EXISTS `role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `role` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `role` +-- + +LOCK TABLES `role` WRITE; +/*!40000 ALTER TABLE `role` DISABLE KEYS */; +INSERT INTO `role` VALUES (1,'ROLE_USER'); +/*!40000 ALTER TABLE `role` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `user` +-- + +DROP TABLE IF EXISTS `user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(255) DEFAULT NULL, + `userEmail` varchar(255) DEFAULT NULL, + `profileImg` varchar(255) DEFAULT NULL, + `profileImgPath` varchar(255) DEFAULT NULL, + `dateOfBirth` varchar(255) DEFAULT NULL, + `fatherName` varchar(255) DEFAULT NULL, + `motherName` varchar(255) DEFAULT NULL, + `gender` varchar(255) DEFAULT NULL, + `maritalStatus` varchar(255) DEFAULT NULL, + `permanentAddress` varchar(255) DEFAULT NULL, + `tempAddress` varchar(255) DEFAULT NULL, + `primaryOccupation` varchar(255) DEFAULT NULL, + `secondaryOccupation` varchar(255) DEFAULT NULL, + `skills` varchar(255) DEFAULT NULL, + `phoneNumber` varchar(255) DEFAULT NULL, + `secondaryPhoneNumber` varchar(255) DEFAULT NULL, + `nationality` varchar(255) DEFAULT NULL, + `language` varchar(255) DEFAULT NULL, + `workingExperience` varchar(255) DEFAULT NULL, + `password` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `user` +-- + +LOCK TABLES `user` WRITE; +/*!40000 ALTER TABLE `user` DISABLE KEYS */; + +INSERT INTO `user` VALUES (7,'admin_vp','admin@hkhinfo.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$0a7VdTr4rfCQqtsvpng6GuJnzUmQ7gZiHXgzGPgm5hkRa3avXgBLK') +,(8,'Abrar Nirban','abrar.nirban74@gmail.com',NULL,NULL,'27/01/2002','A nirban','T nirban','male','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','8888888888','8888888888','Indian','english','2 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAW'), +(9,'Amayra Fatima','amayra@gmail.com',NULL,NULL,'20/06/1993','K','L','female','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','9999999999','9999999999','India','english','5','$2a$11$gwvsvUrFU.YirMM1Yb7NweFudLUM91AzH5BDFnhkNzfzpjG.FplYO'), +(10,'Aron','aron.DSilva@gmail.com',NULL,NULL,'27/01/2002','M nirban','R nirban','male','unMarried','Dubai,UAE','Dubai,UAE','Software Engineer','Software Engineer','Java HTML CSS ','7777777777','777777777','India','english','7','$2a$11$6oZEgfGGQAH23EaXLVZ2WOSKxcEJFnBSw2N2aghab0s2kcxSQwjhC'), +(11,'Kiran Kumar','kiran@gmail.com',NULL,NULL,'8/12/1993','K K','RK','male','unMarried','SanFrancisco','James Street','Software Engineer','Software Engineer','Java HTML CSS ','1010101010','1010101010','India','english','10','$2a$11$EXwpna1MlFFlKW5ut1iVi.AoeIulkPPmcOHFO8pOoQt1IYU9COU0m'), +(12,'Balbir Singh','balbir@gmail.com',NULL,NULL,'20/06/1993','balbir RK','balbir AK','male','unMarried','SanFrancisco','US','Software Engineer','Software Engineer','Java HTML CSS AWS','8888888111','8888888111','India','english','8','$2a$11$pzWNzzR.HUkHzz2zhAgqOeCl0WaTgY33NxxJ7n0l.rnEqjB9JO7vy'), +(4,'Hibo Prince','hibo.prince@gmail.com',NULL,NULL,'6/09/2000','Abara','Queen','male','unMarried','Electronic City,UAE','Electronic City,UAE','Tester','Freelancing','Python PHP ','9146389863','9146389871','Indian','hindi','3 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAR'), +(5,'Aejaaz Habeeb','aejaaz.habeeb@gmail.com',NULL,NULL,'16/02/2001','Imran','Ziya','male','unMarried','AbuDhabi,UAE','AbuDhabi,UAE','Developer','Developer','Azure Devops ','9566489863','9566489863','Indian','hindi','4 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAR'), +(6,'Jackie','jackie.chan@gmail.com',NULL,NULL,'28/09/1992','Charles','Chan','male','Married','HongKong,China','HongKong,China','MartialArtist','MartialArtist','KungFu ','9246488863','9246488863','Chinese','Mandrian','1 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6RAR'), +(13,'Srinath Goud','sgoud@gmail.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$6BSmYPrT8I8b9yHmx.uTRu/QxnQM2vhZYQa8mR33aReWA4WFihyGK'); + + +/*!40000 ALTER TABLE `user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `user_role` +-- + +DROP TABLE IF EXISTS `user_role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `user_role` ( + `user_id` int(11) NOT NULL, + `role_id` int(11) NOT NULL, + PRIMARY KEY (`user_id`,`role_id`), + KEY `fk_user_role_roleid_idx` (`role_id`), + CONSTRAINT `fk_user_role_roleid` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_user_role_userid` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `user_role` +-- + +LOCK TABLES `user_role` WRITE; +/*!40000 ALTER TABLE `user_role` DISABLE KEYS */; +INSERT INTO `user_role` VALUES (4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1); +/*!40000 ALTER TABLE `user_role` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2023-21-06 05:49:31 diff --git a/target/classes/logback.xml b/target/classes/logback.xml new file mode 100644 index 000000000..35b81df4d --- /dev/null +++ b/target/classes/logback.xml @@ -0,0 +1,24 @@ + + + + + + + %date{HH:mm:ss.SSS} [%thread] %-5level %logger{15}#%line %msg\n + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/validation.properties b/target/classes/validation.properties new file mode 100644 index 000000000..0453cdd3a --- /dev/null +++ b/target/classes/validation.properties @@ -0,0 +1,5 @@ +NotEmpty=This field is required. +Size.userForm.username=Please use between 6 and 32 characters. +Duplicate.userForm.username= User has already taken this Username. +Size.userForm.password=Try one with at least 8 characters. +Diff.userForm.passwordConfirm=These passwords don't match. \ No newline at end of file diff --git a/target/test-classes/com/visualpathit/account/controllerTest/SampleTest.class b/target/test-classes/com/visualpathit/account/controllerTest/SampleTest.class new file mode 100644 index 0000000000000000000000000000000000000000..00fd98a026952358e25e5208f400e005d4314bf4 GIT binary patch literal 611 zcmb7AO-~y!5Pe>jm)x_(5C% zap(`=M^%g$#HvSp7|(c~-^_c@|DOH=*ul>T0mF7`NBm0Vh0tT+E|lXUO>JQuPpxs8 z)mmm}GIzWyMq@2~8llF}9EvN!wJ-yI+8@f)F--0%queisiS>;hL+!UcmoX;rDM5%y zhDJvjc~Xq}#3=e&GPF826}l%f~uc9S({u52e;N#vHyxnEy|2*Ja8K5`4us60M~f zxQkNsQAo!66UJD?a)c%NSCQ}Kxy)RG6|6EOqOA5W$#_~KTt7bcro~-bWT`w*-kwIK zWy{-*HPD=LLO>arN-?6E)6M+c%?C`~Q4%1g=-VK`XNt)yfbKd~4AayN(0D^NOB~Qf jt;E$^GxwOiox{Q-zE^}XeF0G?L|Kv6-$~b~8{o$adxwX@ literal 0 HcmV?d00001 diff --git a/target/test-classes/com/visualpathit/account/controllerTest/UserControllerTest.class b/target/test-classes/com/visualpathit/account/controllerTest/UserControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0fc89918665c291e96a88672a980149ed87563d7 GIT binary patch literal 4366 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 N5)BML(5nMK{sZN6BY6M- literal 0 HcmV?d00001 diff --git a/target/test-classes/com/visualpathit/account/modelTest/UserTest.class b/target/test-classes/com/visualpathit/account/modelTest/UserTest.class new file mode 100644 index 0000000000000000000000000000000000000000..fc0166942184e2245c96be60b7e7f4dc991c3d1b GIT binary patch literal 2512 zcma)730D(W6#j-SAq)ypskmFQ>`qaXR;V>VsIg%wk)U?bAsJwBG7~cs5WCrZ-+oGM z8?m0#AJE^>-_q0XPIh}Ng>#bo?z{KB?|%1tH-G;9`yT*C@lyZ|3I((N^Eer3Z*c?#O1*B7Ew*P_$6 zV$%$WS0mz%y*93(y%La!-Ha+wV)RWpw(IG(m(;Di(MU*&g3e0dQX;xI7nx;nxaPcs zmos@{5PNv*vc7Jn@2u5)CvX1RWzf80OO`@%;hsHWL;me457eD=~hzDnX)c9TPA!EAvB^##q;PQ z5H`?NFuY44bxmbK&931sWfg>?_fkgIGufB`1_-oTNM%Ps_afC{W{jlinnV+^ZO7C7 zBp+yQP20$m9c|KBb#lgd0B01O+J)Ig$0C8l=#h^R6=!j-2rHHrzMf{QKN-Y%21L>s z)0UJm6))jslFUlx^b9FGP@7beO@A@~mfPu?v|5Fi+@4I8{$_>@lg@8Y$Q}%!xA;h4I!0k2$z`f3uZmzzGQRU{2!8+ zGejX0&a?IwJ5f1GL07#rx3gt=UZ@Y9*hQ0?f72y-UY?=nrkyRDor*gZIYm}IBRAfP zThIfzT{njk+pcG1RIDJyJ~?@gqyxpdz}ZTAyNWMoHOKa|)pxXr%bTdcJT}>E3V^HVUCwF-_tq-BB*mJCQWj@Y zP~20ojr-IWQIz$iV1FH!(jyTx@5zntKXpZEzvha{vyv-5RPmsEMXgjnR`H4W)zZ}! zseY#7b9}*mb3>ZXk~+(PDgu*7`IU;V@eQY&Yu;!7ICEnH@;d?fJ(=x`#YEDfgp<#u zj2Tme-7Zy16VAw6#z{Uo`H5-akmih~)r|mx^tRG&fDG?8sFig)*L$B@chsyqnZx(X z+-9C~0A0*{j;kU1}T2yIKj`5zZ2%IT|^^Z{@}^fE@f)`R_JRUc!X2c zv=-ml;im{Zx$rbz@RNI)+=xEfP2B0nAT5a>;k=}{fp~1&^r2)$WPcTJC^f$~5{EC@k>=iM??FGcjM%*_#3z!#UsDMR5+vpd0 zmJ|VpNy!m(;3)AOG?wYTge>O-1w5$M{mg4!*5oI^^qe1nvCw>&7`^ X86|1w`Rg-QgK@Hg@dsjQz>og`Su#oN literal 0 HcmV?d00001 diff --git a/target/test-classes/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.class b/target/test-classes/com/visualpathit/account/setup/StandaloneMvcTestViewResolver.class new file mode 100644 index 0000000000000000000000000000000000000000..74a5221938e7d533afbc0a1e078cff4f80f1a60d GIT binary patch literal 885 zcmbtSOK%e~5dNHOyUh}sHl^haEvK|p>;Wz)Ri*NhkhTTUHV1CrjY(Y`d*$_R_*rnF z5(mVYAB7liBg&ydk&vYsdmf+Xo0*@#zI_Mq1REh53_F<_$CWHfu5#{9q>Fi$nNqvB z5U$MQL&x=yE2G7Jl^uz~4WyX76NOQgupt75J!404kz1)pA1oh>iLoE!iAV{+R!TTR z7nAt4cEW0|d}?Vk@iz>^{EpPp?J_ibn*)a6xfzNGO|;sW!#qPLky;#-<5buqo+`o6 zO-#nsfLrO`Q)55`3WnX}e@OKiT4^cO(3i;Yrk9-ZipPrU5p~1U>~AJBao$S{XL;t1 zt$M}_Q3Dcs^zu_Cawm;0LUb8cF7W?&Jo#&FETR))jp6A`|6SJO2&=f!#!cK}Sfi1? zwW1Q*y^sZsJ3C2?$*JGH_rC25eo_ZCLf_ttqNb!N%=;Pov$4Od8qfZ)p8qT9r}*HX z>-EUjfDO=E(8dA{y3sn24C(clG$TE?b%up6wL2miQJ9wjuFwJ6=Ru^e(kt*SrHG~a z&ahlV4anlZSlW7chLs;!-QRA0#r5saWNQ!>D9ighXi>%@x;66pdCnA>vT+-C=(iSO O-o-u2WVl}=tp5gFyzfZ> literal 0 HcmV?d00001 From 110f0ded6af83681d1651ef6c161294792301f9c Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 7 Nov 2023 15:18:37 -0600 Subject: [PATCH 13/49] mvn setting --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a4543d7f0..60e8504b8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -38,7 +38,7 @@ pipeline { stage('Checkstyle Analysis'){ steps { - sh'mvn checkstyle:checkstyle' + sh'mvn -s settings.xml checkstyle:checkstyle' } } } From 87525e4b1fd4856d558aa70e958dd5b7d1a51d98 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 08:02:18 -0600 Subject: [PATCH 14/49] sonnar scanner Analysis --- Jenkinsfile | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 60e8504b8..afe039bac 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,8 +4,8 @@ pipeline { maven "MAVEN3" jdk "OracleJDK8" } - - environment { + + enviroment { SNAP_REPO= 'vprofile-snapshot' NEXUS_USER = 'admin' NEXUS_PASS = 'school1' @@ -15,6 +15,8 @@ pipeline { NEXUSPORT = '8081' NEXUS_GRP_REPO = 'vpro-maven-group' NEXUS_LOGIN = 'nexuslogin' + SONARSERVER = 'sonarserver' + SONARSCANNER = 'sonarscanner' } stages { @@ -32,13 +34,32 @@ pipeline { stage('Test'){ steps { - sh'mvn test' + sh 'mvn -s settings.xml test' } + } stage('Checkstyle Analysis'){ steps { - sh'mvn -s settings.xml checkstyle:checkstyle' + sh 'mvn -s settings.xml checkstyle:checkstyle' + } + } + + stage('Sonar Analysis') { + environment { + scannerHome = tool "${SONARSCANNER}" + } + steps { + withSonarQubeEnv("${SONARSERVER}") { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } } } } From 04011848b9a80dc5d3d268560da8009c87d82614 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 08:03:30 -0600 Subject: [PATCH 15/49] environement spelling check --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index afe039bac..b659db0f9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ pipeline { jdk "OracleJDK8" } - enviroment { + environment { SNAP_REPO= 'vprofile-snapshot' NEXUS_USER = 'admin' NEXUS_PASS = 'school1' From 3546f48b9309361ef0da71bb25abe4252401e580 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 08:13:43 -0600 Subject: [PATCH 16/49] quality gate --- Jenkinsfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index b659db0f9..f1cc615b3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -62,5 +62,15 @@ pipeline { } } } + + stage("Quality Gate") { + steps{ + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE + // true = set pipeline to UNSTABLE, false = don't + waitForQuality abortPipeline: true + } + } + } } } \ No newline at end of file From 0dc2b77623837528d95d2fb27c66bd4f329caeb0 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 08:16:47 -0600 Subject: [PATCH 17/49] sonar quality gate --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index f1cc615b3..1bba36b3a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -68,7 +68,7 @@ pipeline { timeout(time: 1, unit: 'HOURS') { // Parameter indicates whether to set pipeline to UNSTABLE // true = set pipeline to UNSTABLE, false = don't - waitForQuality abortPipeline: true + waitForQualityGate abortPipeline: true } } } From bbcfc90b213a7043e6916ee71120d13fb8cad129 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 08:34:56 -0600 Subject: [PATCH 18/49] upload artifact to nexus code --- Jenkinsfile | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1bba36b3a..b89217efc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,14 +6,14 @@ pipeline { } environment { - SNAP_REPO= 'vprofile-snapshot' - NEXUS_USER = 'admin' - NEXUS_PASS = 'school1' - RELEASE_REPO = 'vprofile-release' - CENTRAL_REPO = 'vpro-maven-central' - NEXUSIP = '172.31.30.161' - NEXUSPORT = '8081' - NEXUS_GRP_REPO = 'vpro-maven-group' + SNAP_REPO = 'vprofile-snapshot' + NEXUS_USER = 'admin' + NEXUS_PASS = 'admin123' + RELEASE_REPO = 'vprofile-release' + CENTRAL_REPO = 'vpro-maven-central' + NEXUSIP = '172.31.5.4' + NEXUSPORT = '8081' + NEXUS_GRP_REPO = 'vpro-maven-group' NEXUS_LOGIN = 'nexuslogin' SONARSERVER = 'sonarserver' SONARSCANNER = 'sonarscanner' @@ -64,13 +64,33 @@ pipeline { } stage("Quality Gate") { - steps{ + steps { timeout(time: 1, unit: 'HOURS') { - // Parameter indicates whether to set pipeline to UNSTABLE + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails // true = set pipeline to UNSTABLE, false = don't waitForQualityGate abortPipeline: true } } } + + stage("UploadArtifact"){ + steps{ + nexusArtifactUploader( + nexusVersion: 'nexus3', + protocol: 'http', + nexusUrl: "${NEXUSIP}:${NEXUSPORT}", + groupId: 'QA', + version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", + repository: "${RELEASE_REPO}", + credentialsId: "${NEXUS_LOGIN}", + artifacts: [ + [artifactId: 'vproapp', + classifier: '', + file: 'target/vprofile-v2.war', + type: 'war'] + ] + ) + } + } } } \ No newline at end of file From f162fa117ff2067fa93c447ca64ab8b53510d1f0 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 08:40:37 -0600 Subject: [PATCH 19/49] nexus ip upload --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index b89217efc..1043b0221 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,7 +11,7 @@ pipeline { NEXUS_PASS = 'admin123' RELEASE_REPO = 'vprofile-release' CENTRAL_REPO = 'vpro-maven-central' - NEXUSIP = '172.31.5.4' + NEXUSIP = '172.31.30.161' NEXUSPORT = '8081' NEXUS_GRP_REPO = 'vpro-maven-group' NEXUS_LOGIN = 'nexuslogin' From c5d8aec55891251043a65c102b964700ac45093d Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 09:31:24 -0600 Subject: [PATCH 20/49] slack notification --- Jenkinsfile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 1043b0221..400a4eaca 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -92,5 +92,13 @@ pipeline { ) } } + + post { + always { + echo 'Slack Notifications.' + slackSend channel: '#jenkinscicd2', + color: COLOR_MAP[currentBuild.currentResult], + message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" + } } } \ No newline at end of file From db2ae3c3bc57f05d3bc0981fdaed0162e1f790ad Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 09:33:45 -0600 Subject: [PATCH 21/49] ip check --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 400a4eaca..da8a5480e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,7 +8,7 @@ pipeline { environment { SNAP_REPO = 'vprofile-snapshot' NEXUS_USER = 'admin' - NEXUS_PASS = 'admin123' + NEXUS_PASS = 'school1' RELEASE_REPO = 'vprofile-release' CENTRAL_REPO = 'vpro-maven-central' NEXUSIP = '172.31.30.161' From eece53a571b040f0ee85a4e3ef6c1495cce2d7dd Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 09:34:50 -0600 Subject: [PATCH 22/49] commit --- Jenkinsfile | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index da8a5480e..1043b0221 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,7 +8,7 @@ pipeline { environment { SNAP_REPO = 'vprofile-snapshot' NEXUS_USER = 'admin' - NEXUS_PASS = 'school1' + NEXUS_PASS = 'admin123' RELEASE_REPO = 'vprofile-release' CENTRAL_REPO = 'vpro-maven-central' NEXUSIP = '172.31.30.161' @@ -92,13 +92,5 @@ pipeline { ) } } - - post { - always { - echo 'Slack Notifications.' - slackSend channel: '#jenkinscicd2', - color: COLOR_MAP[currentBuild.currentResult], - message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" - } } } \ No newline at end of file From 59897d091dae0f2579affe467616e6590cad2c1a Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 09:41:37 -0600 Subject: [PATCH 23/49] slack commit --- Jenkinsfile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 1043b0221..ebd209153 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -91,6 +91,15 @@ pipeline { ] ) } + + } + + post { + always { + echo 'Slack Notifications.' + slackSend channel: '#jenkinscicd2', + color: COLOR_MAP[currentBuild.currentResult], + message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" } } } \ No newline at end of file From fba7f9892a2d914ad3baefb19921be4dd2a74fa7 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 09:46:15 -0600 Subject: [PATCH 24/49] slack commit --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ebd209153..d6c34bfc8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -93,11 +93,11 @@ pipeline { } } - + } post { always { echo 'Slack Notifications.' - slackSend channel: '#jenkinscicd2', + slackSend channel: '#jenkinscicd', color: COLOR_MAP[currentBuild.currentResult], message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" } From 19ae99cfde760fe71f92d66d562e9f5fd318bd53 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 8 Nov 2023 09:48:47 -0600 Subject: [PATCH 25/49] slack channel --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d6c34bfc8..8cc978576 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -97,7 +97,7 @@ pipeline { post { always { echo 'Slack Notifications.' - slackSend channel: '#jenkinscicd', + slackSend channel: '#jenkinscicd2', color: COLOR_MAP[currentBuild.currentResult], message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" } From 2280cae858a3d10dd1c7da03cffdc9d857825fbf Mon Sep 17 00:00:00 2001 From: fredyl Date: Thu, 9 Nov 2023 07:40:45 -0600 Subject: [PATCH 26/49] slack color def --- Jenkinsfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8cc978576..8794d0a58 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,7 @@ +def COLOR_MAP = [ + 'SUCCESS': 'good', + 'FAILURE': 'danger', +] pipeline { agent any tools { @@ -8,7 +12,7 @@ pipeline { environment { SNAP_REPO = 'vprofile-snapshot' NEXUS_USER = 'admin' - NEXUS_PASS = 'admin123' + NEXUS_PASS = 'school123' RELEASE_REPO = 'vprofile-release' CENTRAL_REPO = 'vpro-maven-central' NEXUSIP = '172.31.30.161' From 51130ae52bd3657e534ca382e0619d5237ad23be Mon Sep 17 00:00:00 2001 From: fredyl Date: Thu, 9 Nov 2023 07:43:48 -0600 Subject: [PATCH 27/49] notification test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8794d0a58..10afd0836 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -38,7 +38,7 @@ pipeline { stage('Test'){ steps { - sh 'mvn -s settings.xml test' + sh 'maven -s settings.xml test' } } From 21268cb89bc0b631a424b277052f9648fea46b11 Mon Sep 17 00:00:00 2001 From: fredyl Date: Thu, 9 Nov 2023 07:45:27 -0600 Subject: [PATCH 28/49] correction --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 10afd0836..8794d0a58 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -38,7 +38,7 @@ pipeline { stage('Test'){ steps { - sh 'maven -s settings.xml test' + sh 'mvn -s settings.xml test' } } From 2b4240dc8b570b67c81e152ec8dd12f3920f9866 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 6 Mar 2024 09:31:03 -0600 Subject: [PATCH 29/49] ci-jenkins readme commit --- .vscode/settings.json | 3 +++ README.md | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..c5f3f6b9c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/README.md b/README.md index 88fd3cbba..787c9960f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Prerequisites -# +## - JDK 11 - Maven 3 - MySQL 8 From 09107aed02e3355a3fe0874484f963997c0efed8 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 13 Mar 2024 12:32:31 -0500 Subject: [PATCH 30/49] jenkins file build job --- Jenkinsfile | 96 ++++------------------------------------------------- 1 file changed, 7 insertions(+), 89 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8794d0a58..ffc69431d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,7 +1,3 @@ -def COLOR_MAP = [ - 'SUCCESS': 'good', - 'FAILURE': 'danger', -] pipeline { agent any tools { @@ -9,101 +5,23 @@ pipeline { jdk "OracleJDK8" } - environment { + enviroment { SNAP_REPO = 'vprofile-snapshot' NEXUS_USER = 'admin' - NEXUS_PASS = 'school123' + NEXUS_PASS = 'admin123' RELEASE_REPO = 'vprofile-release' CENTRAL_REPO = 'vpro-maven-central' - NEXUSIP = '172.31.30.161' + NEXUSIP = '172.31.16.68' NEXUSPORT = '8081' NEXUS_GRP_REPO = 'vpro-maven-group' NEXUS_LOGIN = 'nexuslogin' - SONARSERVER = 'sonarserver' - SONARSCANNER = 'sonarscanner' } stages { - stage('Build'){ - steps { - sh 'mvn -s settings.xml -DskipTests install' - } - post { - success { - echo "Now Archiving." - archiveArtifacts artifacts: '**/*.war' - } - } - } - - stage('Test'){ - steps { - sh 'mvn -s settings.xml test' - } - - } - - stage('Checkstyle Analysis'){ - steps { - sh 'mvn -s settings.xml checkstyle:checkstyle' - } - } - - stage('Sonar Analysis') { - environment { - scannerHome = tool "${SONARSCANNER}" - } - steps { - withSonarQubeEnv("${SONARSERVER}") { - sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ - -Dsonar.projectName=vprofile \ - -Dsonar.projectVersion=1.0 \ - -Dsonar.sources=src/ \ - -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ - -Dsonar.junit.reportsPath=target/surefire-reports/ \ - -Dsonar.jacoco.reportsPath=target/jacoco.exec \ - -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' - } - } - } - - stage("Quality Gate") { - steps { - timeout(time: 1, unit: 'HOURS') { - // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails - // true = set pipeline to UNSTABLE, false = don't - waitForQualityGate abortPipeline: true - } - } - } - - stage("UploadArtifact"){ - steps{ - nexusArtifactUploader( - nexusVersion: 'nexus3', - protocol: 'http', - nexusUrl: "${NEXUSIP}:${NEXUSPORT}", - groupId: 'QA', - version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", - repository: "${RELEASE_REPO}", - credentialsId: "${NEXUS_LOGIN}", - artifacts: [ - [artifactId: 'vproapp', - classifier: '', - file: 'target/vprofile-v2.war', - type: 'war'] - ] - ) - } - - } - } - post { - always { - echo 'Slack Notifications.' - slackSend channel: '#jenkinscicd2', - color: COLOR_MAP[currentBuild.currentResult], - message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" + stage ('Build'){ + stage { + sh ' mvn -s settings xml -DskipTests install' + } } } } \ No newline at end of file From 58c36cad8586e074df3a4a8dd421f06e1ce9c317 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 13 Mar 2024 12:53:53 -0500 Subject: [PATCH 31/49] jf step area correction --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ffc69431d..18372a086 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,7 +19,7 @@ pipeline { stages { stage ('Build'){ - stage { + steps { sh ' mvn -s settings xml -DskipTests install' } } From b19bdfbccb689dfcef3ad3d9264edd140c0704a6 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 13 Mar 2024 12:58:40 -0500 Subject: [PATCH 32/49] commit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 18372a086..772130d19 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ pipeline { jdk "OracleJDK8" } - enviroment { + environment { SNAP_REPO = 'vprofile-snapshot' NEXUS_USER = 'admin' NEXUS_PASS = 'admin123' From ab0228acbf06e9bf8b7ece5c900f01711549e481 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 13 Mar 2024 13:18:01 -0500 Subject: [PATCH 33/49] settings.xml --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 772130d19..4da7daa9b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -20,7 +20,7 @@ pipeline { stages { stage ('Build'){ steps { - sh ' mvn -s settings xml -DskipTests install' + sh ' mvn -s settings.xml -DskipTests install' } } } From 42f52c0804a3f3c228ebb68fe29a598b9284f9e7 Mon Sep 17 00:00:00 2001 From: fredyl Date: Wed, 13 Mar 2024 14:48:03 -0500 Subject: [PATCH 34/49] unit test and checkstyle analysis --- Jenkinsfile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4da7daa9b..658655496 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,6 +22,26 @@ pipeline { steps { sh ' mvn -s settings.xml -DskipTests install' } + post { + success { + echo "Now archiving" + archiveArtifacts artifacts: '**/*.war' + } + } } + + stage('Test'){ + steps { + sh 'mvn -s settings.xml test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn -s settings.xml checkstyle:checkstyle' + } + } + } -} \ No newline at end of file +} From 4bf712744bd5df7148969396c9a8650325e1b082 Mon Sep 17 00:00:00 2001 From: fredyl Date: Thu, 14 Mar 2024 11:45:53 -0500 Subject: [PATCH 35/49] Sonarqube setup --- Jenkinsfile | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 658655496..d6ec75ff4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,16 +15,18 @@ pipeline { NEXUSPORT = '8081' NEXUS_GRP_REPO = 'vpro-maven-group' NEXUS_LOGIN = 'nexuslogin' + SONARSERVER = 'sonarserver' + SONARSCANNER = 'sonarscanner' } stages { - stage ('Build'){ - steps { - sh ' mvn -s settings.xml -DskipTests install' - } + stage('Build'){ + steps { + sh 'mvn -s settings.xml -DskipTests install' + } post { success { - echo "Now archiving" + echo "Now Archiving." archiveArtifacts artifacts: '**/*.war' } } @@ -43,5 +45,22 @@ pipeline { } } + stage('Sonar Analysis') { + environment { + scannerHome = tool "${SONARSCANNER}" + } + steps { + withSonarQubeEnv("${SONARSERVER}") { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } } -} +} \ No newline at end of file From df870899ca8f2f6a51c212a236f8081637a00c84 Mon Sep 17 00:00:00 2001 From: fredyl Date: Thu, 14 Mar 2024 11:52:26 -0500 Subject: [PATCH 36/49] change --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d6ec75ff4..ab065dcc0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,7 +3,7 @@ pipeline { tools { maven "MAVEN3" jdk "OracleJDK8" - } + environment { SNAP_REPO = 'vprofile-snapshot' From 5c84612c1149926b03b046c894b76457f4775e09 Mon Sep 17 00:00:00 2001 From: fredyl Date: Thu, 14 Mar 2024 11:53:12 -0500 Subject: [PATCH 37/49] change --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ab065dcc0..d6ec75ff4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,7 +3,7 @@ pipeline { tools { maven "MAVEN3" jdk "OracleJDK8" - + } environment { SNAP_REPO = 'vprofile-snapshot' From 32301d443feea52e94f3f2c63312e904a2a5a33c Mon Sep 17 00:00:00 2001 From: fredyl Date: Thu, 14 Mar 2024 12:23:35 -0500 Subject: [PATCH 38/49] artifact upload to nexus --- Jenkinsfile | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d6ec75ff4..760cde980 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -62,5 +62,35 @@ pipeline { } } } + + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + + stage("UploadArtifact"){ + steps{ + nexusArtifactUploader( + nexusVersion: 'nexus3', + protocol: 'http', + nexusUrl: "${NEXUSIP}:${NEXUSPORT}", + groupId: 'QA', + version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", + repository: "${RELEASE_REPO}", + credentialsId: "${NEXUS_LOGIN}", + artifacts: [ + [artifactId: 'vproapp', + classifier: '', + file: 'target/vprofile-v2.war', + type: 'war'] + ] + ) + } + } } -} \ No newline at end of file +} From 3e29bbe43d1c39dbb8c36fd6ac7028b660fe353e Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 19:42:32 -0500 Subject: [PATCH 39/49] build jobs --- Jenkinsfile | 74 +++-------------------------------------------------- 1 file changed, 3 insertions(+), 71 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 760cde980..6b75aa215 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,12 +11,11 @@ pipeline { NEXUS_PASS = 'admin123' RELEASE_REPO = 'vprofile-release' CENTRAL_REPO = 'vpro-maven-central' - NEXUSIP = '172.31.16.68' + NEXUSIP = '172.31.27.198' NEXUSPORT = '8081' NEXUS_GRP_REPO = 'vpro-maven-group' NEXUS_LOGIN = 'nexuslogin' - SONARSERVER = 'sonarserver' - SONARSCANNER = 'sonarscanner' + } stages { @@ -24,73 +23,6 @@ pipeline { steps { sh 'mvn -s settings.xml -DskipTests install' } - post { - success { - echo "Now Archiving." - archiveArtifacts artifacts: '**/*.war' - } - } - } - - stage('Test'){ - steps { - sh 'mvn -s settings.xml test' - } - - } - - stage('Checkstyle Analysis'){ - steps { - sh 'mvn -s settings.xml checkstyle:checkstyle' - } - } - - stage('Sonar Analysis') { - environment { - scannerHome = tool "${SONARSCANNER}" - } - steps { - withSonarQubeEnv("${SONARSERVER}") { - sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ - -Dsonar.projectName=vprofile \ - -Dsonar.projectVersion=1.0 \ - -Dsonar.sources=src/ \ - -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ - -Dsonar.junit.reportsPath=target/surefire-reports/ \ - -Dsonar.jacoco.reportsPath=target/jacoco.exec \ - -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' - } - } - } - - stage("Quality Gate") { - steps { - timeout(time: 1, unit: 'HOURS') { - // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails - // true = set pipeline to UNSTABLE, false = don't - waitForQualityGate abortPipeline: true - } - } - } - - stage("UploadArtifact"){ - steps{ - nexusArtifactUploader( - nexusVersion: 'nexus3', - protocol: 'http', - nexusUrl: "${NEXUSIP}:${NEXUSPORT}", - groupId: 'QA', - version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", - repository: "${RELEASE_REPO}", - credentialsId: "${NEXUS_LOGIN}", - artifacts: [ - [artifactId: 'vproapp', - classifier: '', - file: 'target/vprofile-v2.war', - type: 'war'] - ] - ) - } - } + } } } From e5bf4d2371fd800aa9d8d5e2de72808edad9070b Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 20:07:11 -0500 Subject: [PATCH 40/49] updated pipeline and unit test code analysis --- Jenkinsfile | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6b75aa215..417b6a0a8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -18,11 +18,30 @@ pipeline { } + stages { stage('Build'){ steps { sh 'mvn -s settings.xml -DskipTests install' } - } + } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + stage('Test'){ + steps { + sh 'mvn -s settings.xml test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn -s settings.xml checkstyle:checkstyle' + } + } } } From 54035018a6eb3df2b5b35794823a1a51b60e6779 Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 20:10:52 -0500 Subject: [PATCH 41/49] commit test --- Jenkinsfile | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 417b6a0a8..2187d1502 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -24,24 +24,7 @@ pipeline { steps { sh 'mvn -s settings.xml -DskipTests install' } - } - post { - success { - echo "Now Archiving." - archiveArtifacts artifacts: '**/*.war' - } - } - stage('Test'){ - steps { - sh 'mvn -s settings.xml test' - } - - } - - stage('Checkstyle Analysis'){ - steps { - sh 'mvn -s settings.xml checkstyle:checkstyle' - } - } + } } } + From b1451bc9cc3919add88171dd4fc0a86b5c444ae7 Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 20:15:10 -0500 Subject: [PATCH 42/49] commit --- Jenkinsfile | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2187d1502..adca9d32e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -18,12 +18,30 @@ pipeline { } - stages { stage('Build'){ steps { sh 'mvn -s settings.xml -DskipTests install' } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + + stage('Test'){ + steps { + sh 'mvn -s settings.xml test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn -s settings.xml checkstyle:checkstyle' + } } } } From fc2aa846a43d7754d9242cbd2871a1c9533a7bcf Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 20:17:47 -0500 Subject: [PATCH 43/49] commit --- Jenkinsfile | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index adca9d32e..3c11f7730 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -43,6 +43,53 @@ pipeline { sh 'mvn -s settings.xml checkstyle:checkstyle' } } + stage('Sonar Analysis') { + environment { + scannerHome = tool "${SONARSCANNER}" + } + steps { + withSonarQubeEnv("${SONARSERVER}") { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + + stage("UploadArtifact"){ + steps{ + nexusArtifactUploader( + nexusVersion: 'nexus3', + protocol: 'http', + nexusUrl: "${NEXUSIP}:${NEXUSPORT}", + groupId: 'QA', + version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", + repository: "${RELEASE_REPO}", + credentialsId: "${NEXUS_LOGIN}", + artifacts: [ + [artifactId: 'vproapp', + classifier: '', + file: 'target/vprofile-v2.war', + type: 'war'] + ] + ) + } + } } } From 9be8f90aaf4bbfd82142fe0ea6bc1276bd256728 Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 20:31:24 -0500 Subject: [PATCH 44/49] sonareserver --- Jenkinsfile | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3c11f7730..bd97ff59c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -61,35 +61,6 @@ pipeline { } } - stage("Quality Gate") { - steps { - timeout(time: 1, unit: 'HOURS') { - // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails - // true = set pipeline to UNSTABLE, false = don't - waitForQualityGate abortPipeline: true - } - } - } - - stage("UploadArtifact"){ - steps{ - nexusArtifactUploader( - nexusVersion: 'nexus3', - protocol: 'http', - nexusUrl: "${NEXUSIP}:${NEXUSPORT}", - groupId: 'QA', - version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", - repository: "${RELEASE_REPO}", - credentialsId: "${NEXUS_LOGIN}", - artifacts: [ - [artifactId: 'vproapp', - classifier: '', - file: 'target/vprofile-v2.war', - type: 'war'] - ] - ) - } - } } } From c4cf60b6d4f4d218021961e3b4f50891d5cb4b57 Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 20:50:51 -0500 Subject: [PATCH 45/49] sonarscanner name update --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index bd97ff59c..5ed97b465 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,8 @@ pipeline { NEXUSPORT = '8081' NEXUS_GRP_REPO = 'vpro-maven-group' NEXUS_LOGIN = 'nexuslogin' - + SONARSERVER = 'sonarserver' + SONARSCANNER = 'sonarscanner' } stages { From b3fbd0ad07dc89e07b5623e01ca06613c60d84e3 Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 20:55:29 -0500 Subject: [PATCH 46/49] quality gates --- Jenkinsfile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5ed97b465..116db3b00 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -61,7 +61,14 @@ pipeline { } } } - + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } } } - From 70494571b6b27aa64fb8cc9c593a8c26b7256c8b Mon Sep 17 00:00:00 2001 From: fredyl Date: Mon, 18 Mar 2024 21:23:13 -0500 Subject: [PATCH 47/49] artifact uploaded in Nexus --- Jenkinsfile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 116db3b00..eec70e926 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -70,5 +70,25 @@ pipeline { } } } + stage("UploadArtifact"){ + steps{ + nexusArtifactUploader( + nexusVersion: 'nexus3', + protocol: 'http', + nexusUrl: "${NEXUSIP}:${NEXUSPORT}", + groupId: 'QA', + version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", + repository: "${RELEASE_REPO}", + credentialsId: "${NEXUS_LOGIN}", + + artifacts: [ + [artifactId: 'vproapp', + classifier: '', + file: 'target/vprofile-v2.war', + type: 'war'] + ] + ) + } + } } -} +} \ No newline at end of file From 778da9fdc4bec26ccd52614e78c6feef13c5e4ad Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 19 Mar 2024 11:47:05 -0500 Subject: [PATCH 48/49] slack notification --- Jenkinsfile | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index eec70e926..86efa4ec2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,7 @@ +def COLOR_MAP = [ + 'SUCCESS': 'good', + 'FAILURE': 'danger', +] pipeline { agent any tools { @@ -80,7 +84,6 @@ pipeline { version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", repository: "${RELEASE_REPO}", credentialsId: "${NEXUS_LOGIN}", - artifacts: [ [artifactId: 'vproapp', classifier: '', @@ -91,4 +94,13 @@ pipeline { } } } -} \ No newline at end of file + post { + always { + echo 'Slack Notifications.' + slackSend channel: '#jenkinscicd', + color: COLOR_MAP[currentBuild.currentResult], + message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" + } + } + +} From 837da2b04adc6ac064af7a6aaace114e63eaa87d Mon Sep 17 00:00:00 2001 From: fredyl Date: Tue, 19 Mar 2024 13:07:49 -0500 Subject: [PATCH 49/49] preparing cicd branch --- .DS_Store | Bin 0 -> 6148 bytes Docker-files/app/Dockerfile | 11 +++ Docker-files/app/multistage/Dockerfile | 13 +++ Docker-files/d.txt | 0 Docker-files/db/Dockerfile | 9 ++ Docker-files/db/db_backup.sql | 121 ++++++++++++++++++++++++ Docker-files/web/Dockerfile | 6 ++ Docker-files/web/nginvproapp.conf | 9 ++ Jenkinsfile => ProdPipeline/Jenkinsfile | 0 StagePipeline/Jenkinsfile | 106 +++++++++++++++++++++ 10 files changed, 275 insertions(+) create mode 100644 .DS_Store create mode 100644 Docker-files/app/Dockerfile create mode 100644 Docker-files/app/multistage/Dockerfile create mode 100644 Docker-files/d.txt create mode 100644 Docker-files/db/Dockerfile create mode 100644 Docker-files/db/db_backup.sql create mode 100644 Docker-files/web/Dockerfile create mode 100644 Docker-files/web/nginvproapp.conf rename Jenkinsfile => ProdPipeline/Jenkinsfile (100%) create mode 100644 StagePipeline/Jenkinsfile diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..feca8613504bcd7430524202412f605a970dd548 GIT binary patch literal 6148 zcmeH~JqiLr422VS3&Cbf%V|7-HyA`u-~~i21wpZ&qx41vI)z6#m+=T zbn`f`MFtU>!%bynVPcAXCwIBY>3lz3j@RpDteEA>YT$!Ro{xoGkN^pg011!)3H%HJ zJGWu;MJOW)kN^pc1nmD%;HEXTh5D}p!AAgSkF*=sK1)E0C7?C6g(3sfXoW_r`WRw) zZ-`o{NKSp&Hs}YZb^Uy{)~Y3 z+x>QfkIJ+4?ei>u$gHg!9O~r=FP8vp>?mHs-SE8F0$NjBC^9f!1RMhc34E2n6Mwc5 Aa{vGU literal 0 HcmV?d00001 diff --git a/Docker-files/app/Dockerfile b/Docker-files/app/Dockerfile new file mode 100644 index 000000000..22b8aa8b1 --- /dev/null +++ b/Docker-files/app/Dockerfile @@ -0,0 +1,11 @@ +FROM tomcat:8-jre11 +LABEL "Project"="Vprofile" +LABEL "Author"="Imran" + +RUN rm -rf /usr/local/tomcat/webapps/* +COPY target/vprofile-v2.war /usr/local/tomcat/webapps/ROOT.war + +EXPOSE 8080 +CMD ["catalina.sh", "run"] +WORKDIR /usr/local/tomcat/ +VOLUME /usr/local/tomcat/webapps \ No newline at end of file diff --git a/Docker-files/app/multistage/Dockerfile b/Docker-files/app/multistage/Dockerfile new file mode 100644 index 000000000..4163bed27 --- /dev/null +++ b/Docker-files/app/multistage/Dockerfile @@ -0,0 +1,13 @@ +FROM openjdk:11 AS BUILD_IMAGE +RUN apt update && apt install maven -y +RUN git clone https://github.com/devopshydclub/vprofile-project.git +RUN cd vprofile-project && git checkout docker && mvn install + +FROM tomcat:9-jre11 + +RUN rm -rf /usr/local/tomcat/webapps/* + +COPY --from=BUILD_IMAGE vprofile-project/target/vprofile-v2.war /usr/local/tomcat/webapps/ROOT.war + +EXPOSE 8080 +CMD ["catalina.sh", "run"] diff --git a/Docker-files/d.txt b/Docker-files/d.txt new file mode 100644 index 000000000..e69de29bb diff --git a/Docker-files/db/Dockerfile b/Docker-files/db/Dockerfile new file mode 100644 index 000000000..120a5b8cd --- /dev/null +++ b/Docker-files/db/Dockerfile @@ -0,0 +1,9 @@ +FROM mysql:8.0.33 +LABEL "Project"="Vprofile" +LABEL "Author"="Imran" + +ENV MYSQL_ROOT_PASSWORD="vprodbpass" +ENV MYSQL_DATABASE="accounts" + + +ADD db_backup.sql docker-entrypoint-initdb.d/db_backup.sql diff --git a/Docker-files/db/db_backup.sql b/Docker-files/db/db_backup.sql new file mode 100644 index 000000000..bdb779d23 --- /dev/null +++ b/Docker-files/db/db_backup.sql @@ -0,0 +1,121 @@ +-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64) +-- +-- Host: localhost Database: accounts +-- ------------------------------------------------------ +-- Server version 5.7.18-0ubuntu0.16.10.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `role` +-- + +DROP TABLE IF EXISTS `role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `role` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `role` +-- + +LOCK TABLES `role` WRITE; +/*!40000 ALTER TABLE `role` DISABLE KEYS */; +INSERT INTO `role` VALUES (1,'ROLE_USER'); +/*!40000 ALTER TABLE `role` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `user` +-- + +DROP TABLE IF EXISTS `user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(255) DEFAULT NULL, + `userEmail` varchar(255) DEFAULT NULL, + `profileImg` varchar(255) DEFAULT NULL, + `profileImgPath` varchar(255) DEFAULT NULL, + `dateOfBirth` varchar(255) DEFAULT NULL, + `fatherName` varchar(255) DEFAULT NULL, + `motherName` varchar(255) DEFAULT NULL, + `gender` varchar(255) DEFAULT NULL, + `maritalStatus` varchar(255) DEFAULT NULL, + `permanentAddress` varchar(255) DEFAULT NULL, + `tempAddress` varchar(255) DEFAULT NULL, + `primaryOccupation` varchar(255) DEFAULT NULL, + `secondaryOccupation` varchar(255) DEFAULT NULL, + `skills` varchar(255) DEFAULT NULL, + `phoneNumber` varchar(255) DEFAULT NULL, + `secondaryPhoneNumber` varchar(255) DEFAULT NULL, + `nationality` varchar(255) DEFAULT NULL, + `language` varchar(255) DEFAULT NULL, + `workingExperience` varchar(255) DEFAULT NULL, + `password` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `user` +-- + +LOCK TABLES `user` WRITE; +/*!40000 ALTER TABLE `user` DISABLE KEYS */; +INSERT INTO `user` VALUES (7,'admin_vp','admin@visualpathit.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$0a7VdTr4rfCQqtsvpng6GuJnzUmQ7gZiHXgzGPgm5hkRa3avXgBLK'),(8,'WahidKhan','wahid.khan74@gmail.com',NULL,NULL,'28/03/1994','M Khan','R Khan','male','unMarried','Ameerpet,Hyderabad','Ameerpet,Hyderabad','Software Engineer','Software Engineer','Java HTML CSS ','8888888888','8888888888','Indian','english','2 ','$2a$11$UgG9TkHcgl02LxlqxRHYhOf7Xv4CxFmFEgS0FpUdk42OeslI.6JAW'),(9,'Gayatri','gayatri@gmail.com',NULL,NULL,'20/06/1993','K','L','male','unMarried','Ameerpet,Hyderabad','Ameerpet,Hyderabad','Software Engineer','Software Engineer','Java HTML CSS ','9999999999','9999999999','India','english','5','$2a$11$gwvsvUrFU.YirMM1Yb7NweFudLUM91AzH5BDFnhkNzfzpjG.FplYO'),(10,'WahidKhan2','wahid.khan741@gmail.com',NULL,NULL,'28/03/1994','M Khan','R Khan','male','unMarried','Ameerpet,Hyderabad','Ameerpet,Hyderabad','Software Engineer','Software Engineer','Java HTML CSS ','7777777777','777777777','India','english','7','$2a$11$6oZEgfGGQAH23EaXLVZ2WOSKxcEJFnBSw2N2aghab0s2kcxSQwjhC'),(11,'KiranKumar','kiran@gmail.com',NULL,NULL,'8/12/1993','K K','RK','male','unMarried','California','James Street','Software Engineer','Software Engineer','Java HTML CSS ','1010101010','1010101010','India','english','10','$2a$11$EXwpna1MlFFlKW5ut1iVi.AoeIulkPPmcOHFO8pOoQt1IYU9COU0m'),(12,'Saikumar','sai@gmail.com',NULL,NULL,'20/06/1993','Sai RK','Sai AK','male','unMarried','California','US','Software Engineer','Software Engineer','Java HTML CSS AWS','8888888111','8888888111','India','english','8','$2a$11$pzWNzzR.HUkHzz2zhAgqOeCl0WaTgY33NxxJ7n0l.rnEqjB9JO7vy'),(13,'RamSai','ram@gmail.com',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$2a$11$6BSmYPrT8I8b9yHmx.uTRu/QxnQM2vhZYQa8mR33aReWA4WFihyGK'); +/*!40000 ALTER TABLE `user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `user_role` +-- + +DROP TABLE IF EXISTS `user_role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `user_role` ( + `user_id` int(11) NOT NULL, + `role_id` int(11) NOT NULL, + PRIMARY KEY (`user_id`,`role_id`), + KEY `fk_user_role_roleid_idx` (`role_id`), + CONSTRAINT `fk_user_role_roleid` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_user_role_userid` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `user_role` +-- + +LOCK TABLES `user_role` WRITE; +/*!40000 ALTER TABLE `user_role` DISABLE KEYS */; +INSERT INTO `user_role` VALUES (4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1); +/*!40000 ALTER TABLE `user_role` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2017-12-07 16:32:31 diff --git a/Docker-files/web/Dockerfile b/Docker-files/web/Dockerfile new file mode 100644 index 000000000..99d468509 --- /dev/null +++ b/Docker-files/web/Dockerfile @@ -0,0 +1,6 @@ +FROM nginx +LABEL "Project"="Vprofile" +LABEL "Author"="Imran" + +RUN rm -rf /etc/nginx/conf.d/default.conf +COPY nginvproapp.conf /etc/nginx/conf.d/vproapp.conf \ No newline at end of file diff --git a/Docker-files/web/nginvproapp.conf b/Docker-files/web/nginvproapp.conf new file mode 100644 index 000000000..ab3a503e4 --- /dev/null +++ b/Docker-files/web/nginvproapp.conf @@ -0,0 +1,9 @@ +upstream vproapp { + server vproapp:8080; +} +server { + listen 80; +location / { + proxy_pass http://vproapp; +} +} \ No newline at end of file diff --git a/Jenkinsfile b/ProdPipeline/Jenkinsfile similarity index 100% rename from Jenkinsfile rename to ProdPipeline/Jenkinsfile diff --git a/StagePipeline/Jenkinsfile b/StagePipeline/Jenkinsfile new file mode 100644 index 000000000..86efa4ec2 --- /dev/null +++ b/StagePipeline/Jenkinsfile @@ -0,0 +1,106 @@ +def COLOR_MAP = [ + 'SUCCESS': 'good', + 'FAILURE': 'danger', +] +pipeline { + agent any + tools { + maven "MAVEN3" + jdk "OracleJDK8" + } + + environment { + SNAP_REPO = 'vprofile-snapshot' + NEXUS_USER = 'admin' + NEXUS_PASS = 'admin123' + RELEASE_REPO = 'vprofile-release' + CENTRAL_REPO = 'vpro-maven-central' + NEXUSIP = '172.31.27.198' + NEXUSPORT = '8081' + NEXUS_GRP_REPO = 'vpro-maven-group' + NEXUS_LOGIN = 'nexuslogin' + SONARSERVER = 'sonarserver' + SONARSCANNER = 'sonarscanner' + } + + stages { + stage('Build'){ + steps { + sh 'mvn -s settings.xml -DskipTests install' + } + post { + success { + echo "Now Archiving." + archiveArtifacts artifacts: '**/*.war' + } + } + } + + stage('Test'){ + steps { + sh 'mvn -s settings.xml test' + } + + } + + stage('Checkstyle Analysis'){ + steps { + sh 'mvn -s settings.xml checkstyle:checkstyle' + } + } + stage('Sonar Analysis') { + environment { + scannerHome = tool "${SONARSCANNER}" + } + steps { + withSonarQubeEnv("${SONARSERVER}") { + sh '''${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=vprofile \ + -Dsonar.projectName=vprofile \ + -Dsonar.projectVersion=1.0 \ + -Dsonar.sources=src/ \ + -Dsonar.java.binaries=target/test-classes/com/visualpathit/account/controllerTest/ \ + -Dsonar.junit.reportsPath=target/surefire-reports/ \ + -Dsonar.jacoco.reportsPath=target/jacoco.exec \ + -Dsonar.java.checkstyle.reportPaths=target/checkstyle-result.xml''' + } + } + } + stage("Quality Gate") { + steps { + timeout(time: 1, unit: 'HOURS') { + // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails + // true = set pipeline to UNSTABLE, false = don't + waitForQualityGate abortPipeline: true + } + } + } + stage("UploadArtifact"){ + steps{ + nexusArtifactUploader( + nexusVersion: 'nexus3', + protocol: 'http', + nexusUrl: "${NEXUSIP}:${NEXUSPORT}", + groupId: 'QA', + version: "${env.BUILD_ID}-${env.BUILD_TIMESTAMP}", + repository: "${RELEASE_REPO}", + credentialsId: "${NEXUS_LOGIN}", + artifacts: [ + [artifactId: 'vproapp', + classifier: '', + file: 'target/vprofile-v2.war', + type: 'war'] + ] + ) + } + } + } + post { + always { + echo 'Slack Notifications.' + slackSend channel: '#jenkinscicd', + color: COLOR_MAP[currentBuild.currentResult], + message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} \n More info at: ${env.BUILD_URL}" + } + } + +}