spring-petclinic/Jenkinsfile
Jesse Houldsworth a1fa74c029 jenmkinsfile
2025-03-25 17:05:02 -07:00

79 lines
2.1 KiB
Groovy
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

pipeline {
agent any
tools {
// This is your Jenkins-managed Maven tool
maven 'maven-3'
}
environment {
JFROG_CLI_BUILD_NAME = "spring-petclinic"
JFROG_CLI_BUILD_NUMBER = "${BUILD_ID}"
ARTIFACTORY_URL = "http://artifactory.artifactory.svc.cluster.local:8081/artifactory"
}
stages {
stage('Download JFrog CLI') {
steps {
// Download a *confirmed* ARM64 version 2.44.0
sh '''
curl -fL https://releases.jfrog.io/artifactory/jfrog-cli/v2-jf/2.44.0/jfrog-cli-linux-arm64/jf -o jf
chmod +x jf
'''
}
}
stage('Configure JFrog CLI') {
steps {
withCredentials([usernamePassword(credentialsId: 'jfrog-platform-creds', usernameVariable: 'ARTIFACTORY_USER', passwordVariable: 'ARTIFACTORY_PASSWORD')]) {
sh '''
./jf c add petclinic \
--url=${ARTIFACTORY_URL} \
--user=$ARTIFACTORY_USER \
--password=$ARTIFACTORY_PASSWORD \
--interactive=false
'''
}
}
}
stage('Validate Connection') {
steps {
// Switch to "petclinic" config & ping Artifactory
sh './jf c use petclinic'
sh './jf rt ping'
}
}
stage('Build Maven') {
steps {
sh 'chmod +x mvnw'
// Configure Maven resolution + deployment in Artifactory
sh '''
./jf mvnc --global \
--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
'''
// Perform the actual build + deploy
sh './jf mvn clean deploy -DskipTests -Dcheckstyle.skip=true'
}
}
stage('Publish Build Info') {
steps {
sh './jf rt build-collect-env'
sh './jf rt build-add-git'
sh './jf rt build-publish'
}
}
}
post {
always {
echo "Build complete: ${env.JFROG_CLI_BUILD_NAME} #${env.BUILD_NUMBER}"
}
}
}