-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
120 lines (109 loc) · 3.56 KB
/
Copy pathJenkinsfile
File metadata and controls
120 lines (109 loc) · 3.56 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
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
118
119
120
pipeline {
agent any
environment {
DOCKER_IMAGE = 'skilton/library-management-system:latest'
}
stages {
stage('Setup Debug') {
steps {
script {
echo "Current directory: ${pwd()}"
sh 'ls -al' //lists files and their permissions
}
}
}
stage('Clone repository') {
steps {
echo 'Cloning the repository...'
dir('librarymanagementsystem') {
git branch: 'master',
url: 'https://github.com/DSkilton/LibraryManagementSystem'
echo "Repository cloned."
sh 'ls -l'
}
}
}
stage('Verify Gradlew Configuration') {
steps {
script {
dir('librarymanagementsystem') {
sh '''
echo "Checking gradlew permissions..."
ls -l gradlew
chmod +x gradlew
ls -l gradlew
echo "Verifying Gradle wrapper execution..."
./gradlew --version
'''
}
}
}
}
stage('Build Environment') {
steps {
script {
dir('librarymanagementsystem') {
echo "Running Gradle clean build..."
sh '''
./gradlew clean build
echo "Displaying directory structure post-build..."
find . -type f -print | grep -v "\\.git"
echo "Listing build artifacts..."
ls -l build/libs/
'''
echo "Building Docker image ${env.DOCKER_IMAGE}..."
docker.build(env.DOCKER_IMAGE, '.')
}
}
}
}
stage('Check Environment') {
steps {
script {
dir('librarymanagementsystem') {
echo "Checking build environment..."
sh 'pwd'
echo "List files and their permissions"
sh 'ls -al | grep -v "/$" '
echo "List files and their permissions in build/libs/"
sh 'ls -al | grep -v "/$" ' }
}
}
}
stage('Test') {
steps {
script {
dir('librarymanagementsystem') {
echo "Running tests..."
sh './gradlew test'
echo "Tests completed."
}
}
}
}
/* stage('Deploy to Kubernetes') {
steps {
script {
echo 'Deploying to Kubernetes...'
kubernetesDeploy(
configs: 'kubeconfig',
kubeconfigId: 'kubeconfig-id'
)
echo "Deployment to Kubernetes initiated."
}
}
} */
}
post {
always {
echo 'Cleaning up workspace...'
cleanWs()
}
success {
echo 'Build completed successfully.'
}
failure {
echo 'Build failed. Check the logs for details.'
}
}
}