forked from crgaurav/spring-boot-war-example
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
68 lines (65 loc) · 1.99 KB
/
Jenkinsfile
File metadata and controls
68 lines (65 loc) · 1.99 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
pipeline{
agent "any"
stages{
// clone code from git.
// create a build.
stage("Build"){
steps{
sh '''ls'''
withMaven(maven: 'example-maven-name') {
// some block
echo "========Build code.========"
sh ''' mvn clean install'''
sh '''ls'''
slackSend channel: 'jenkinsdemo', message: 'build successfull', teamDomain: 'crgaurav', tokenCredentialId: 'slack'
}
}
}
stage("createImage and Push"){
environment {
Name1 = "Saurav"
SERVICE_CREDS_GAURAV = credentials('dockerID')
}
steps{
sh '''
docker image build -t spring:${BUILD_ID} .
docker login -u $SERVICE_CREDS_GAURAV_USR -p $SERVICE_CREDS_GAURAV_PSW
docker image tag spring:${BUILD_ID} monika21vash/spring:${BUILD_ID}
docker image push monika21vash/spring:${BUILD_ID}
docker image ls
'''
}
}
stage("deploy in testing"){
steps{
sh '''
docker context use testing
docker service create -p 8080:8080 --name testjavaapp --replicas=5 monika21vash/spring:${BUILD_ID} || docker service update --image monika21vash/spring:${BUILD_ID} testjavaapp
'''
}
}
}
stage("deploy in productions"){
steps{
sh '''
docker context use prod
docker service create -p 8080:8080 --name testjavaapp --replicas=5 monika21vash/spring:tag1 || docker service update --image monika21vash/spring:tag1 testjavaapp
'''
}
}
}
post{
always{
echo "========always========"
sh '''
docker context use default
'''
}
success{
echo "========pipeline executed successfully ========"
}
failure{
echo "========pipeline execution failed========"
}
}
}