2025-09-02 15:47:49 +09:00
|
|
|
pipeline {
|
|
|
|
|
agent any
|
|
|
|
|
|
2025-09-02 16:02:50 +09:00
|
|
|
tools {
|
|
|
|
|
maven "M3"
|
|
|
|
|
jdk "JDK17"
|
|
|
|
|
}
|
2025-09-03 09:07:52 +09:00
|
|
|
|
2025-09-03 10:47:44 +09:00
|
|
|
environment {
|
2025-09-03 11:23:51 +09:00
|
|
|
DOCKERHUB_CREDENTIALS = credentials('dockerCredentials')
|
2025-09-03 10:47:44 +09:00
|
|
|
}
|
2025-09-03 11:23:51 +09:00
|
|
|
|
2025-09-02 15:47:49 +09:00
|
|
|
stages{
|
2025-09-02 15:55:19 +09:00
|
|
|
stage('Git Clone'){
|
2025-09-02 15:47:49 +09:00
|
|
|
steps {
|
2025-09-03 09:07:52 +09:00
|
|
|
git url: 'https://github.com/sjh4616/spring-petclinic.git', branch: 'main'
|
2025-09-02 15:47:49 +09:00
|
|
|
}
|
|
|
|
|
}
|
2025-09-02 16:02:50 +09:00
|
|
|
stage('Maven Build'){
|
|
|
|
|
steps {
|
|
|
|
|
sh 'mvn -Dmaven.test.failure.ignore=true clean package'
|
|
|
|
|
}
|
2025-09-03 09:07:52 +09:00
|
|
|
}
|
2025-09-03 09:48:23 +09:00
|
|
|
stage('Docker Image Create') {
|
2025-09-03 09:07:52 +09:00
|
|
|
steps {
|
2025-09-03 09:48:23 +09:00
|
|
|
sh """
|
|
|
|
|
docker build -t wodnr8174/spring-petclinic:$BUILD_NUMBER .
|
|
|
|
|
docker tag wodnr8174/spring-petclinic:$BUILD_NUMBER wodnr8174/spring-petclinic:latest
|
|
|
|
|
"""
|
2025-09-03 09:07:52 +09:00
|
|
|
}
|
|
|
|
|
}
|
2025-09-03 10:47:44 +09:00
|
|
|
stage('Docker Hub Login') {
|
|
|
|
|
steps {
|
2025-09-03 10:59:07 +09:00
|
|
|
sh 'echo $DOCKERHUB_CREDENTIALS_PSW | docker login -u $DOCKERHUB_CREDENTIALS_USR --password-stdin'
|
2025-09-03 11:23:51 +09:00
|
|
|
}
|
|
|
|
|
}
|
2025-09-03 10:47:44 +09:00
|
|
|
stage('Docker Image Push') {
|
2025-09-03 11:23:51 +09:00
|
|
|
steps {
|
2025-09-03 10:47:44 +09:00
|
|
|
sh 'docker push wodnr8174/spring-petclinic:latest'
|
2025-09-03 11:23:51 +09:00
|
|
|
}
|
2025-09-03 10:47:44 +09:00
|
|
|
}
|
2025-09-03 11:19:25 +09:00
|
|
|
stage('Docker Image Remove') {
|
|
|
|
|
steps {
|
2025-09-03 11:23:51 +09:00
|
|
|
sh 'docker rmi wodnr8174/spring-petclinic:$BUILD_NUMBER wodnr8174/spring-petclinic:latest'
|
|
|
|
|
}
|
2025-09-03 11:19:25 +09:00
|
|
|
}
|
|
|
|
|
stage('Publish Over SSH') {
|
|
|
|
|
steps {
|
2025-09-10 14:21:03 +09:00
|
|
|
sshPublisher(publishers: [sshPublisherDesc(configName: 'WEB01',
|
2025-09-03 11:23:51 +09:00
|
|
|
transfers: [sshTransfer(cleanRemote: false,
|
|
|
|
|
excludes: '',
|
|
|
|
|
execCommand: '''
|
2025-09-10 13:57:20 +09:00
|
|
|
fuser -k 8080/tcp
|
|
|
|
|
export BUILD_ID=Petclinic-Pipeline
|
2025-09-10 15:13:03 +09:00
|
|
|
nohup java -jar /home/ubuntu/deploy/spring-petclinic-3.5.0-SNAPSHOT.jar >> nohup.out 2>&1 &''',
|
2025-09-03 11:23:51 +09:00
|
|
|
execTimeout: 120000,
|
|
|
|
|
flatten: false,
|
|
|
|
|
makeEmptyDirs: false,
|
|
|
|
|
noDefaultExcludes: false,
|
|
|
|
|
patternSeparator: '[, ]+',
|
|
|
|
|
remoteDirectory: '',
|
|
|
|
|
remoteDirectorySDF: false,
|
2025-09-10 14:21:03 +09:00
|
|
|
removePrefix: 'WEB01',
|
2025-09-03 11:23:51 +09:00
|
|
|
sourceFiles: '')],
|
|
|
|
|
usePromotionTimestamp: false,
|
|
|
|
|
useWorkspaceInPromotion: false,
|
|
|
|
|
verbose: false)])
|
2025-09-03 11:19:25 +09:00
|
|
|
}
|
|
|
|
|
}
|
2025-09-02 15:47:49 +09:00
|
|
|
}
|
|
|
|
|
}
|