Skip to content

Commit 685c1fd

Browse files
Create JenkinsfileDockerSwarm
1 parent a618743 commit 685c1fd

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

JenkinsfileDockerSwarm

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
node{
2+
def buildNumber = BUILD_NUMBER
3+
stage("Git CheckOut"){
4+
git url: 'https://github.com/MithunTechnologiesDevOps/java-web-app-docker.git',branch: 'master'
5+
}
6+
7+
stage(" Maven Clean Package"){
8+
def mavenHome = tool name: "Maven-3.6.1", type: "maven"
9+
def mavenCMD = "${mavenHome}/bin/mvn"
10+
sh "${mavenCMD} clean package"
11+
}
12+
13+
stage("Build Dokcer Image") {
14+
sh "docker build -t dockerhandson/java-web-app:${buildNumber} ."
15+
}
16+
17+
stage("Docker Push"){
18+
withCredentials([string(credentialsId: 'Docker_Hub_Pwd', variable: 'Docker_Hub_Pwd')]) {
19+
sh "docker login -u dockerhandson -p ${Docker_Hub_Pwd}"
20+
}
21+
sh "docker push dockerhandson/java-web-app:${buildNumber}"
22+
23+
}
24+
25+
// Remove local image in Jenkins Server
26+
stage("Remove Local Image"){
27+
sh "docker rmi -f dockerhandson/java-web-app:${buildNumber}"
28+
}
29+
30+
stage("Deploy to docker swarm cluster"){
31+
sshagent(['Docker_Swarm_Manager_Dev']) {
32+
sh 'ssh -o StrictHostKeyChecking=no [email protected] docker service rm javawebapp || true'
33+
sh "ssh [email protected] docker service create --name javawebapp -p 8080:8080 --replicas 2 dockerhandson/java-web-app:${buildNumber}"
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)