-
Notifications
You must be signed in to change notification settings - Fork 365
Expand file tree
/
Copy pathJenkinsfile
More file actions
74 lines (61 loc) · 2.2 KB
/
Copy pathJenkinsfile
File metadata and controls
74 lines (61 loc) · 2.2 KB
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
// Define the URL of the Artifactory registry
def registry = 'https://trialu36tfr.jfrog.io/'
pipeline {
agent any
environment {
PATH = "/opt/maven/bin:$PATH"
registry = "http://your-artifactory-url" // 🔁 add your Artifactory URL
}
stages {
stage("Build") {
steps {
echo "----------- build started ----------"
sh 'mvn clean package -DskipTests'
echo "----------- build completed ----------"
}
}
stage("Test") {
steps {
echo "----------- unit test started ----------"
sh 'mvn test'
echo "----------- unit test completed ----------"
}
}
stage("SonarCloud Analysis") {
steps {
withSonarQubeEnv('saidemy-sonarqube-server') {
sh '''
mvn sonar:sonar \
-Dsonar.organization=saisaidemykey \
-Dsonar.projectKey=saisaidemykey_saidemytrend \
-Dsonar.projectName=saidemytrend
'''
}
}
}
stage("Artifact Publish") {
steps {
script {
echo '<--------------- Publish Started --------------->'
def server = Artifactory.newServer(
url: "${registry}/artifactory",
credentialsId: "artifact-cred"
)
def properties = "buildid=${env.BUILD_ID};commitid=${env.GIT_COMMIT}"
def uploadSpec = """{
"files": [
{
"pattern": "webapp/target/*.war",
"target": "sai-libs-release-local/",
"props": "${properties}"
}
]
}"""
def buildInfo = server.upload(uploadSpec)
server.publishBuildInfo(buildInfo)
echo '<--------------- Publish Ended --------------->'
}
}
}
}
}