Repository navigation
Expand file tree
/
Copy pathComplete_Jenkins
More file actions
90 lines (80 loc) · 2.46 KB
/
Copy pathComplete_Jenkins
File metadata and controls
90 lines (80 loc) · 2.46 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
pipeline{
environment {
dockerreg="ilutdto353.corp.amdocs.com/sbafna/flasksampleapi"
dockerregcred='DockerNexusDox-Server'
dockerImg=''
}
agent any
stages{
stage('Get From SCM'){
steps{
git 'https://github.com/shashankbafna/sampleflaskAPI.git'
}
}
stage('Create Image using docker plugin'){
steps{
script {
dockerImg=docker.build dockerreg + ":$BUILD_NUMBER"
}
}
}
stage('Run Image from a Parametrized Jenkins job'){
steps{
build job: 'Test_curl', parameters:[
string (name:'Check_Docker_Image',value:'Run_Image')
], wait: true
}
}
stage('Test Image via script in SCM'){
steps{
sh 'python ./ValidateImage.py'
}
}
stage('Stop Image from Jenkins job'){
steps{
build job: 'Test_curl', parameters:[
string (name:'Check_Docker_Image',value:'Stop_Container')
], wait: true
}
}
stage('Upload to Nexus'){
steps{
script{
docker.withRegistry( 'http://ilutdto353.corp.amdocs.com', dockerregcred ) {
dockerImg.push()
}
}
}
}
stage('Remove old Nexus repositories'){
steps{
sh "docker rmi $dockerreg:$BUILD_NUMBER"
}
}
stage('Deploy to Pods'){
agent {
kubernetes {
yamlFile 'deployment.yaml'
}
}
steps{
sh 'pwd; whoami; hostname -f'
}
}
stage('Deploy services to Pods'){
steps{
script{
sh 'kubectl apply -f services.yml'
}
}
}
stage('validate Pods'){
steps{
retry(3) {
sh 'sleep 2'
sh 'curl http://ilcepoc0590.corp.amdocs.com:9999/'
}
}
}
}
}