forked from Youssef-Choura/BookApp
-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathJenkinsfile_Docker
More file actions
47 lines (43 loc) · 1.4 KB
/
Jenkinsfile_Docker
File metadata and controls
47 lines (43 loc) · 1.4 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
pipeline{
agent { node { label 'awsnode' } }
tools {
git 'git'
maven 'Maven'
jdk 'AWSJDK17'
}
environment {
IMAGE_TAG = "${env.BUILD_NUMBER}"
myDockerRepoName = "bookapp"
myDockerhub = "mohanraj123"
}
stages{
stage('SCM Checkout'){
steps{
git 'https://github.com/mohansgithub/BookApp.git'
}
}
stage('Maven packing'){
steps{
sh label: '', script: 'mvn clean install'
}
}
stage('Build & Deploy New Image'){
steps{
withCredentials([usernamePassword(credentialsId: '7ab64707-d6b7-4f18-8c12-dc75c4042f3d', passwordVariable: 'DockerPassword', usernameVariable: 'DockerUsername')]) {
script {
sh '''
sudo docker login -u ${DockerUsername} -p ${DockerPassword} docker.io
sudo docker build -t docker.io/${myDockerhub}/${myDockerRepoName}:${IMAGE_TAG} .
sudo docker push docker.io/${myDockerhub}/${myDockerRepoName}:${IMAGE_TAG}
sudo docker images
sudo docker ps -f name=${myDockerRepoName} -q | xargs --no-run-if-empty sudo docker container stop
sudo docker container ls -a -fname=${myDockerRepoName} -q | xargs -r sudo docker container rm
sudo docker system prune -f
sudo docker run -d -p 8080:8080 --name ${myDockerRepoName} ${myDockerhub}/${myDockerRepoName}:${IMAGE_TAG}
'''
}
}
}
}
}
}