-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkins-Backend.yaml
117 lines (97 loc) · 3.83 KB
/
Jenkins-Backend.yaml
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
pipeline {
environment {
registry = 'othom'
repo = 'e-commerce-frontend-blue'
DOCKERHUB_CREDENTIALS = credentials('DOCKER_AUTH_ID')
DOCKERHUB_REPO = "${registry}/${repo}"
TAG = "${BUILD_NUMBER}" // 'latest'
} // environment
agent any
stages {
stage('ENV CHECK') {
steps {
// Check For Required Tools
sh '''
docker version
docker info
docker-compose version
curl --version
jq --version
'''
// Login To Docker
sh 'echo $DOCKERHUB_CREDENTIALS_PSW | docker login -u $DOCKERHUB_CREDENTIALS_USR --password-stdin'
sh 'docker system prune -af --volumes'
// Check The ENV Is Clean
sh 'docker-compose ps -a'
sh 'docker ps -a'
}
}
stage('Build') {
steps {
echo '\n\nBUILDING... \n'
// sh "docker build -t ${DOCKERHUB_REPO} ." //:${TAG}
// echo '\n\nStarting Web Server... \n'
// sh "docker run -d -p 5000:5000 --rm --name ${repo}-container ${DOCKERHUB_REPO}"
// echo "Please Visit --> $BASE_URL:5000"
}
}
stage('Test') {
steps {
echo '\n\nTESTING... \n'
echo '\n\n SKIPPING TESTING... \n'
// sh "pytest app-test.py"
}
}
stage('Push') {
steps {
echo '\n\nPUSHING... \n'
sh "docker push ${DOCKERHUB_REPO}" //:${TAG}
}
}
stage('Pull') {
steps {
echo '\n\nPULLING... \n'
sh "docker pull ${DOCKERHUB_REPO}" //:${TAG}
}
}
// stage("Run Smoke Tests Against The Container") {
// steps {
// sh 'docker kill $(docker ps -q)'
// echo '\n\nRE-BUILD LATEST FROM DOCKER HUB... \n'
// sh "docker build -t ${DOCKERHUB_REPO} ." //:${TAG}
// echo "\n\nStarting Web Server FOR SMOKE TESTS... \n"
// sh "docker run -d -p 5000:5000 --rm --name ${repo}-container ${DOCKERHUB_REPO}"
// echo "\nPlease Visit --> $BASE_URL:5000"
// sh "curl ${BASE_URL}:5000 | jq"
// }
// }
stage('Deploy') {
steps {
echo '\n\nDEPLOYING... \n'
}
}
} // stages
post {
always {
// Clean Everything UP -- Docker
// sh 'docker-compose down --remove-orphans -v'
// sh 'docker kill $(docker ps -q)'
// Clean The Docker ENV
// sh 'docker rm $(docker ps -a -q)'
// sh 'docker rmi $(docker images -q)'
// sh 'docker rmi $(path_current_build)'
sh 'docker system prune -af && docker logout'
// Send Status Report To Email & Discord
mail to: 'Chris.Barnes.2000@me.com',
subject: "Job '${JOB_NAME}' (${BUILD_NUMBER}) Was A ${currentBuild.currentResult}",
body: "Please go to ${BUILD_URL} and verify the build"
discordSend webhookURL: 'https://discord.com/api/webhooks/998320738769588224/4akFNyQItbFvUKmbGxJ-qMCyzMefF3QP4GbyNk73wry4_WfGPuDOWUlael_WN4_Yh677',
enableArtifactsList: false, scmWebUrl: '',
image: '', thumbnail: '',
title: JOB_NAME, link: BUILD_URL,
description: "Please Visit --> ${BASE_URL}:5000",
footer: "Jenkins Pipeline Build was a ${currentBuild.currentResult}",
result: currentBuild.currentResult
} // always
} // post
} // pipeline