forked from Training-241209/nottumblr-backend-team4
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
73 lines (64 loc) · 1.91 KB
/
Copy pathJenkinsfile
File metadata and controls
73 lines (64 loc) · 1.91 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
pipeline {
agent any
environment {
DOCKER_IMAGE = 'nottumblr-app'
DOCKER_TAG = "${BUILD_NUMBER}"
DB_CREDS = credentials('DB_CREDS')
JWT_SECRET = credentials('JWT_SECRET')
DB_URL0 = credentials('DB_URL0')
}
stages {
stage('Debug Environment Variables') {
steps {
echo "DB_URL: ${env.DB_URL0}"
echo "DB_CREDS_USR: ${env.DB_CREDS_USR}"
echo "DB_CREDS_PSW: ${env.DB_CREDS_PSW}"
echo "JWT_SECRET: ${env.JWT_SECRET}"
}
}
stage('Build') {
steps {
sh 'mvn clean package'
}
}
stage('Test') {
steps {
sh 'mvn test'
}
}
stage ('Docker Build') {
steps {
sh "docker build -t ${DOCKER_IMAGE}:${DOCKER_TAG} ."
}
}
stage ('Deploy') {
steps {
script {
//Stop existing container
sh "docker stop ${DOCKER_IMAGE} || true"
sh "docker rm ${DOCKER_IMAGE} || true"
//Run new container
sh """
docker run -d \
--name ${DOCKER_IMAGE} \
-p 8081:8080 \
-e SPRING_DATASOURCE_URL=${DB_URL0} \
-e SPRING_DATASOURCE_USERNAME=${DB_CREDS_USR} \
-e SPRING_DATASOURCE_PASSWORD=${DB_CREDS_PSW} \
-e JWT_SECRET=${JWT_SECRET} \
--restart unless-stopped \
${DOCKER_IMAGE}:${DOCKER_TAG}
"""
}
}
}
}
post {
success {
echo 'Pipeline succeeded'
}
failure {
echo 'Pipeline failed'
}
}
}