2025-03-25 19:11:30 +00:00
|
|
|
pipeline {
|
|
|
|
agent any
|
|
|
|
|
2025-03-25 20:13:24 +00:00
|
|
|
tools {
|
|
|
|
jfrog 'jfrog-cli'
|
2025-03-25 20:19:41 +00:00
|
|
|
maven 'maven-3'
|
2025-03-25 20:13:24 +00:00
|
|
|
}
|
|
|
|
|
2025-03-25 19:11:30 +00:00
|
|
|
environment {
|
2025-03-25 19:48:00 +00:00
|
|
|
JFROG_CLI_BUILD_NAME = "spring-petclinic"
|
|
|
|
JFROG_CLI_BUILD_NUMBER = "${BUILD_ID}"
|
2025-03-25 19:11:30 +00:00
|
|
|
}
|
|
|
|
|
2025-03-25 23:55:05 +00:00
|
|
|
stages {
|
|
|
|
stage('Configure JFrog CLI') {
|
|
|
|
steps {
|
|
|
|
withCredentials([usernamePassword(credentialsId: 'jfrog-platform-creds', usernameVariable: 'ARTIFACTORY_USER', passwordVariable: 'ARTIFACTORY_PASSWORD')]) {
|
|
|
|
sh '''
|
|
|
|
curl -fL https://install-cli.jfrog.io | sh
|
2025-03-25 23:57:03 +00:00
|
|
|
chmod +x jf
|
2025-03-25 23:55:05 +00:00
|
|
|
./jf c add petclinic \
|
|
|
|
--url=http://artifactory.artifactory.svc.cluster.local:8081/artifactory \
|
|
|
|
--user=$ARTIFACTORY_USER \
|
|
|
|
--password=$ARTIFACTORY_PASSWORD \
|
|
|
|
--interactive=false
|
|
|
|
'''
|
|
|
|
}
|
|
|
|
}
|
2025-03-25 19:11:30 +00:00
|
|
|
}
|
|
|
|
|
2025-03-25 23:48:12 +00:00
|
|
|
stage('Validate Connection') {
|
2025-03-25 19:11:30 +00:00
|
|
|
steps {
|
2025-03-25 23:57:03 +00:00
|
|
|
sh './jf c use petclinic'
|
|
|
|
sh './jf rt ping'
|
2025-03-25 19:11:30 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-03-25 23:48:12 +00:00
|
|
|
stage('Build Maven') {
|
2025-03-25 19:11:30 +00:00
|
|
|
steps {
|
2025-03-25 23:48:12 +00:00
|
|
|
sh 'chmod +x mvnw'
|
|
|
|
sh '''
|
2025-03-25 23:57:03 +00:00
|
|
|
./jf mvnc --global \
|
2025-03-25 23:48:12 +00:00
|
|
|
--repo-resolve-releases=petclinic-maven-dev-virtual \
|
|
|
|
--repo-resolve-snapshots=petclinic-maven-dev-virtual \
|
|
|
|
--repo-deploy-releases=petclinic-maven-dev-local \
|
|
|
|
--repo-deploy-snapshots=petclinic-maven-dev-local
|
|
|
|
'''
|
2025-03-25 23:57:03 +00:00
|
|
|
sh './jf mvn clean deploy -DskipTests -Dcheckstyle.skip=true'
|
2025-03-25 19:11:30 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stage('Publish Build Info') {
|
|
|
|
steps {
|
2025-03-25 23:57:03 +00:00
|
|
|
sh './jf rt build-collect-env'
|
|
|
|
sh './jf rt build-add-git'
|
|
|
|
sh './jf rt build-publish'
|
2025-03-25 19:11:30 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2025-03-25 23:48:12 +00:00
|
|
|
|
|
|
|
post {
|
|
|
|
always {
|
2025-03-25 23:51:18 +00:00
|
|
|
echo "Build complete: ${env.JFROG_CLI_BUILD_NAME} #${env.BUILD_NUMBER}"
|
2025-03-25 23:48:12 +00:00
|
|
|
}
|
|
|
|
}
|
2025-03-25 19:11:30 +00:00
|
|
|
}
|