forked from Sanwel/JavaApp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
executable file
·84 lines (75 loc) · 2.92 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#! /usr/bin/env groovy
import com.lab.build.Colorizer
/**
* Jenkins pipeline build whole project
*
* @return Return value
*
* @version $Id$
* @copyright 2018, EPAM systems. All Rights Reserved
*/
@Library(value='initialLibs', changelog=false) _
node ("master") {
env.BUILD_STATUS = 'SUCCESS'
String response
wrap([$class: 'AnsiColorBuildWrapper']) {
try {
echo Colorizer.info("Executing Checkout stage")
stageGitCheckout {
branchName = '*/master'
submoduleConfig = false
credentialsID = '6da246df-c194-4f83-bdfa-9edee7ca39a2'
gitRepository = 'https://github.com/Sanwel/JavaApp'
}
def selectedJdk = "Oracle JDK 8"
def selectedMaven = "maven"
echo Colorizer.info("Executing maven stage")
stageMavenBuild {
jdkVersion = selectedJdk
mavenVersion = selectedMaven
jvmOptions = '-Xms768m -Xmx768m'
mavenCommand = "mvn clean install"
}
echo Colorizer.info("Executing Sonar Scanner stage")
stageSonarScaner {
sonarName = 'SonarQube'
sonarHome = tool name: 'sonarscanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
sonarKey = "-Dsonar.projectKey='Simple-App'"
sonarProj = "-Dsonar.projectName='Simple-App'"
sonarbinaries = "-Dsonar.java.binaries='target/classes/'"
sonarSource = "-Dsonar.sources='src/'"
}
echo Colorizer.info("Executing Dockerize stage")
stageDockerize {
dockerName = 'Docker'
dockerImageName = 'java_app:Build_'
dockerPortInbound = '8080'
dockerPortOutbound = '8181'
dockerContainerName = 'Olen'
}
echo Colorizer.info("Executing Docker Check stage")
response = stageDockerCheck {
timeOutCheck = 15
applicationIP = ' http://10.28.12.209:8181/health'
}
echo Colorizer.info("Executing Send Email stage")
stageEmail {
check = response
recipient = 'Maksym_Husak@epam.com'
}
}
catch (all) {
echo Colorizer.info('Catch Errors')
currentBuild.result = 'FAILURE'
env.BUILD_STATUS = 'FAILURE'
emailext(subject: "${env.JOB_NAME} was ${env.BUILD_STATUS}", body: "Commit short hash " + "${env.shortCommit}", to: 'Maksym_Husak@epam.com', replyTo: '');
}
finally {
echo Colorizer.info('Executing CleanUp Stage')
stageCleanUp {
dockerContainerName = 'Olen'
dockerImageName = 'java_app:Build_'
}
}
}
}