forked from devopsbytanishka/node-app
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
37 lines (33 loc) · 1.14 KB
/
Jenkinsfile
File metadata and controls
37 lines (33 loc) · 1.14 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
pipeline{
agent any
stages{
stage("code"){
steps{
git url: "https://github.com/devopsbytanishka/node-app.git", branch:"main"
echo 'Code is cloned'
}
}
stage("build & test"){
steps{
sh "docker build -t node-app ."
echo 'Build and tested successfully'
}
}
stage("Push Img to DockerHub"){
steps{
withCredentials([usernamePassword(credentialsId:"dockerHub",passwordVariable:"dockerHubPass",usernameVariable:"dockerHubUser")]){
sh "docker login -u ${env.dockerHubUser} -p ${env.dockerHubPass}"
sh "docker tag node-app:latest ${env.dockerHubUser}/node-app:latest"
sh "docker push ${env.dockerHubUser}/node-app:latest"
echo 'Image pushed to DockerHub'
}
}
}
stage("Deploy"){
steps{
sh "docker-compose down && docker-compose up -d"
echo 'Deployment on Server'
}
}
}
}