Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
23b7800
added jenkinsfile
tamagni2025 Oct 9, 2022
de4a360
added jenkinsfile
tamagni2025 Oct 9, 2022
2ec36d8
added jenkinsfile
tamagni2025 Oct 9, 2022
59e6261
added timeout to jenkinsfile
tamagni2025 Oct 9, 2022
9040447
added timeout to jenkinsfile
tamagni2025 Oct 9, 2022
d21ee79
added timeout to jenkinsfile
tamagni2025 Oct 9, 2022
8d990bb
added timeout to jenkinsfile
tamagni2025 Oct 9, 2022
99001ed
added timeout to jenkinsfile
tamagni2025 Oct 9, 2022
82cf0ec
added timeout to jenkinsfile
tamagni2025 Oct 9, 2022
7ea6de9
added Dockerfile
tamagni2025 Oct 10, 2022
b768f4d
added Dockerfile
tamagni2025 Oct 10, 2022
c197c9e
added Dockerfile
tamagni2025 Oct 10, 2022
24700ec
added Dockerfile
tamagni2025 Oct 11, 2022
7d46b77
added Dockerfile
tamagni2025 Oct 11, 2022
b2850d7
added Dockerfile
tamagni2025 Oct 11, 2022
807c84a
added Dockerfile
tamagni2025 Oct 11, 2022
138c224
added Dockerfile
tamagni2025 Oct 11, 2022
769b176
added Dockerfile
tamagni2025 Oct 11, 2022
1b4e08e
added Dockerfile
tamagni2025 Oct 11, 2022
9180185
added Dockerfile
tamagni2025 Oct 11, 2022
d01d516
added Dockerfile
tamagni2025 Oct 11, 2022
f453cca
added Dockerfile
tamagni2025 Oct 11, 2022
08e6e7d
added Dockerfile
tamagni2025 Oct 11, 2022
e321eb0
added Dockerfile
tamagni2025 Oct 11, 2022
48a274b
added Dockerfile
tamagni2025 Oct 11, 2022
9f6b7df
added Dockerfile
tamagni2025 Oct 11, 2022
d598661
added Dockerfile
tamagni2025 Oct 11, 2022
2f8d16f
added Dockerfile
tamagni2025 Oct 11, 2022
71fcd0f
added Dockerfile
tamagni2025 Oct 11, 2022
8faed98
added Dockerfile
tamagni2025 Oct 11, 2022
6cf1a26
added Dockerfile
tamagni2025 Oct 11, 2022
eb30737
added Dockerfile
tamagni2025 Oct 11, 2022
6dbc48a
added Dockerfile
tamagni2025 Oct 11, 2022
2cad033
added Dockerfile
tamagni2025 Oct 11, 2022
9f4d5e1
added Dockerfile
tamagni2025 Oct 11, 2022
5d7ee18
added Dockerfile
tamagni2025 Oct 11, 2022
f869450
added Dockerfile
tamagni2025 Oct 11, 2022
32dd425
added helm push stage
tamagni2025 Oct 14, 2022
0b23c97
added helm push stage
tamagni2025 Oct 14, 2022
6fe55bc
added helm push stage
tamagni2025 Oct 14, 2022
66e8e81
added helm push stage
tamagni2025 Oct 14, 2022
027005a
added helm push stage
tamagni2025 Oct 14, 2022
3462bde
added helm push stage
tamagni2025 Oct 14, 2022
6348cb7
added helm push stage
tamagni2025 Oct 14, 2022
314b243
added deploy step
tamagni2025 Oct 16, 2022
b83701b
added deploy step
tamagni2025 Oct 16, 2022
3f127f6
added deploy step
tamagni2025 Oct 16, 2022
8e7ada4
added deploy step
tamagni2025 Oct 16, 2022
9d63f5c
added deploy step
tamagni2025 Oct 16, 2022
009147a
added deploy step
tamagni2025 Oct 16, 2022
ae09ac6
added deploy step
tamagni2025 Oct 16, 2022
067b84f
added deploy step
tamagni2025 Oct 16, 2022
6f3701e
adding credential to sonarqube
tamagni2025 Oct 20, 2022
a79d73b
Test
tamagni2025 Oct 20, 2022
9949ccd
Test
tamagni2025 Oct 20, 2022
2852aa0
Test
tamagni2025 Oct 20, 2022
17ae9da
Test
tamagni2025 Oct 20, 2022
7005ee8
Test
tamagni2025 Oct 20, 2022
4158ad4
Test
tamagni2025 Oct 21, 2022
55bd6d2
Test
tamagni2025 Oct 21, 2022
1703fc5
Test
tamagni2025 Oct 22, 2022
cd07d59
Test
tamagni2025 Oct 22, 2022
4be87a1
Test
tamagni2025 Oct 22, 2022
4923949
Test
tamagni2025 Oct 22, 2022
fe56565
Test
tamagni2025 Oct 22, 2022
4c0618b
Test
tamagni2025 Oct 22, 2022
74325cf
Test
tamagni2025 Oct 22, 2022
cd1ba9e
Test
tamagni2025 Oct 22, 2022
3c0d729
Test
tamagni2025 Oct 22, 2022
db299f3
Test
tamagni2025 Oct 22, 2022
aa0cbdc
Test
tamagni2025 Oct 22, 2022
6283da4
Test
tamagni2025 Oct 24, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 30 additions & 31 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,58 +1,57 @@
pipeline{
agent any
environment{
agent any
environment {
VERSION = "${env.BUILD_ID}"
}
stages{
stage("sonar quality check"){
agent {
docker {
docker{
image 'openjdk:11'
}
}
steps{
script{
withSonarQubeEnv(credentialsId: 'sonar-token') {
sh 'chmod +x gradlew'
sh './gradlew sonarqube'
sh 'chmod +x gradlew'
sh './gradlew sonarqube'
}

timeout(time: 1, unit: 'HOURS') {
def qg = waitForQualityGate()
if (qg.status != 'OK') {
error "Pipeline aborted due to quality gate failure: ${qg.status}"
}
timeout(7) {
def qg = waitForQualityGate()
if(qg.status != 'OK'){
error "Pipeline aborted due to quality gate failure: ${qg.status}"
}
}
}

}
}
}
stage("docker build & docker push"){
steps{
script{
withCredentials([string(credentialsId: 'docker_pass', variable: 'docker_password')]) {
sh '''
docker build -t 34.125.214.226:8083/springapp:${VERSION} .
docker login -u admin -p $docker_password 34.125.214.226:8083
docker push 34.125.214.226:8083/springapp:${VERSION}
docker rmi 34.125.214.226:8083/springapp:${VERSION}
docker build -t 34.125.93.147:8083/springapp:${VERSION} .
docker login -u admin -p $docker_password 34.125.93.147:8083
docker push 34.125.93.147:8083/springapp:${VERSION}
docker rmi 34.125.93.147:8083/springapp:${VERSION}
'''
}
}
}
}
stage('indentifying misconfigs using datree in helm charts'){
stage("indentifying misconfigs using datree in helm charts"){
steps{
script{

dir('kubernetes/') {
withEnv(['DATREE_TOKEN=GJdx2cP2TCDyUY3EhQKgTc']) {
dir('kubernetes/') {
withEnv(['DATREE_TOKEN=abd14242-b27a-4b93-b288-628a22413751']) {
sh 'helm datree test myapp/'
}
}
}
}
}

stage("pushing the helm charts to nexus"){
steps{
script{
Expand All @@ -61,7 +60,7 @@ pipeline{
sh '''
helmversion=$( helm show chart myapp | grep version | cut -d: -f 2 | tr -d ' ')
tar -czvf myapp-${helmversion}.tgz myapp/
curl -u admin:$docker_password http://34.125.214.226:8081/repository/helm-hosted/ --upload-file myapp-${helmversion}.tgz -v
curl -u admin:$docker_password http://34.125.93.147:8081/repository/helm-hosted/ --upload-file myapp-${helmversion}.tgz -v
'''
}
}
Expand All @@ -73,19 +72,19 @@ pipeline{
steps{
script{
timeout(10) {
mail bcc: '', body: "<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> Go to build url and approve the deployment request <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "${currentBuild.result} CI: Project name -> ${env.JOB_NAME}", to: "deekshith.snsep@gmail.com";
input(id: "Deploy Gate", message: "Deploy ${params.project_name}?", ok: 'Deploy')
mail bcc: '', body: "<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> Go to build url and approve the deployment request <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "${currentBuild.result} CI: Project name -> ${env.JOB_NAME}", to: "tamagni2002@yahoo.fr";
input(message: "Deploy ${params.project_name}?", ok: "Deploy")
}
}
}
}

stage('Deploying application on k8s cluster') {
stage('Deploying application xxx on k8s cluster') {
steps {
script{
withCredentials([kubeconfigFile(credentialsId: 'kubernetes-config', variable: 'KUBECONFIG')]) {
withCredentials([kubeconfigContent(credentialsId: 'kubernetes-config', variable: 'KUBECONFIG_CONTENT')]) {
dir('kubernetes/') {
sh 'helm upgrade --install --set image.repository="34.125.214.226:8083/springapp" --set image.tag="${VERSION}" myjavaapp myapp/ '
sh 'helm upgrade --install --set image.repository="34.125.93.147:8083/springapp" --set image.tag="${VERSION}" myjavaapp myapp/ '
}
}
}
Expand All @@ -102,11 +101,11 @@ pipeline{
}
}
}
}

}
post {
always {
mail bcc: '', body: "<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "${currentBuild.result} CI: Project name -> ${env.JOB_NAME}", to: "deekshith.snsep@gmail.com";
}
}
mail bcc: '', body: "<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "${currentBuild.result} CI: Project name -> ${env.JOB_NAME}", to: "tamagni2021@gmail.com";
}
}
}

112 changes: 112 additions & 0 deletions Jenkinsfile1
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
pipeline{
agent any
environment{
VERSION = "${env.BUILD_ID}"
}
stages{
stage("sonar quality check"){
agent {
docker {
image 'openjdk:11'
}
}
steps{
script{
withSonarQubeEnv(credentialsId: 'sonar-token') {
sh 'chmod +x gradlew'
sh './gradlew sonarqube'
}

timeout(time: 1, unit: 'HOURS') {
def qg = waitForQualityGate()
if (qg.status != 'OK') {
error "Pipeline aborted due to quality gate failure: ${qg.status}"
}
}

}
}
}
stage("docker build & docker push"){
steps{
script{
withCredentials([string(credentialsId: 'docker_pass', variable: 'docker_password')]) {
sh '''
docker build -t 34.125.214.226:8083/springapp:${VERSION} .
docker login -u admin -p $docker_password 34.125.214.226:8083
docker push 34.125.214.226:8083/springapp:${VERSION}
docker rmi 34.125.214.226:8083/springapp:${VERSION}
'''
}
}
}
}
stage('indentifying misconfigs using datree in helm charts'){
steps{
script{

dir('kubernetes/') {
withEnv(['DATREE_TOKEN=GJdx2cP2TCDyUY3EhQKgTc']) {
sh 'helm datree test myapp/'
}
}
}
}
}
stage("pushing the helm charts to nexus"){
steps{
script{
withCredentials([string(credentialsId: 'docker_pass', variable: 'docker_password')]) {
dir('kubernetes/') {
sh '''
helmversion=$( helm show chart myapp | grep version | cut -d: -f 2 | tr -d ' ')
tar -czvf myapp-${helmversion}.tgz myapp/
curl -u admin:$docker_password http://34.125.214.226:8081/repository/helm-hosted/ --upload-file myapp-${helmversion}.tgz -v
'''
}
}
}
}
}

stage('manual approval'){
steps{
script{
timeout(10) {
mail bcc: '', body: "<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> Go to build url and approve the deployment request <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "${currentBuild.result} CI: Project name -> ${env.JOB_NAME}", to: "deekshith.snsep@gmail.com";
input(id: "Deploy Gate", message: "Deploy ${params.project_name}?", ok: 'Deploy')
}
}
}
}

stage('Deploying application on k8s cluster') {
steps {
script{
withCredentials([kubeconfigFile(credentialsId: 'kubernetes-config', variable: 'KUBECONFIG')]) {
dir('kubernetes/') {
sh 'helm upgrade --install --set image.repository="34.125.93.147:8083/springapp" --set image.tag="${VERSION}" myjavaapp myapp/ '
}
}
}
}
}

stage('verifying app deployment'){
steps{
script{
withCredentials([kubeconfigFile(credentialsId: 'kubernetes-config', variable: 'KUBECONFIG')]) {
sh 'kubectl run curl --image=curlimages/curl -i --rm --restart=Never -- curl myjavaapp-myapp:8080'

}
}
}
}
}

post {
always {
mail bcc: '', body: "<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "${currentBuild.result} CI: Project name -> ${env.JOB_NAME}", to: "deekshith.snsep@gmail.com";
}
}
}
1 change: 1 addition & 0 deletions bin/main/application.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Binary file added bin/main/com/example/controller/HomeController.class
Binary file not shown.
Binary file added bin/main/com/example/demo/SampleWebApplication.class
Binary file not shown.
Binary file added bin/main/com/example/demo/ServletInitializer.class
Binary file not shown.
Loading