From b5e0c219cfe7bc78bff0c6fe2713c790feae6f36 Mon Sep 17 00:00:00 2001 From: Jesse Houldsworth Date: Thu, 27 Mar 2025 12:17:07 -0700 Subject: [PATCH] jenmkinsfile --- Jenkinsfile | 57 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 62e1e04a0..36368dcd6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,46 +7,59 @@ pipeline { JFROG_URL = "https://trialt0zppb.jfrog.io" JFROG_REPO_RELEASES = "petclinic-maven-dev-local" JFROG_REPO_SNAPSHOTS = "petclinic-maven-dev-virtual" - JFROG_CREDENTIALS_ID = 'jfrog-saas' // Jenkins credential ID (username + API key or password) + JFROG_CREDENTIALS_ID = 'jfrog-saas' JFROG_CLI_BUILD_NAME = "spring-petclinic" JFROG_CLI_BUILD_NUMBER = "${BUILD_ID}" + JF = "${WORKSPACE}/jfrog" // Local CLI path } stages { + stage('Download JFrog CLI') { + steps { + sh ''' + curl -fL https://releases.jfrog.io/artifactory/jfrog-cli/v2-jf/2.74.1/jfrog-cli-linux-amd64/jf -o "$JF" + chmod +x "$JF" + ''' + } + } + stage('Configure JFrog CLI') { steps { - withCredentials([usernamePassword(credentialsId: "${env.JFROG_CREDENTIALS_ID}", usernameVariable: 'JFROG_USER', passwordVariable: 'JFROG_API_KEY')]) { - sh """ - jfrog config add jenkins-config \\ - --url=${JFROG_URL} \\ - --user=$JFROG_USER \\ - --apikey=$JFROG_API_KEY \\ + withCredentials([usernamePassword(credentialsId: "${JFROG_CREDENTIALS_ID}", usernameVariable: 'JFROG_USER', passwordVariable: 'JFROG_API_KEY')]) { + sh ''' + "$JF" config add jenkins-config \ + --url="${JFROG_URL}" \ + --user="$JFROG_USER" \ + --apikey="$JFROG_API_KEY" \ --interactive=false - """ + ''' } } } stage('Build Maven') { steps { - sh 'mvn clean install -DskipTests -Dcheckstyle.skip=true' - } - } - - stage('Upload to Artifactory') { - steps { - sh """ - jfrog rt u "target/*.jar" ${JFROG_REPO_RELEASES}/ \\ - --build-name=${JFROG_CLI_BUILD_NAME} \\ - --build-number=${JFROG_CLI_BUILD_NUMBER} - """ + sh ''' + "$JF" mvnc --global \ + --repo-resolve-releases=${JFROG_REPO_SNAPSHOTS} \ + --repo-resolve-snapshots=${JFROG_REPO_SNAPSHOTS} \ + --repo-deploy-releases=${JFROG_REPO_RELEASES} \ + --repo-deploy-snapshots=${JFROG_REPO_RELEASES} + ''' + sh ''' + "$JF" mvn clean deploy -DskipTests -Dcheckstyle.skip=true \ + --build-name="$JFROG_CLI_BUILD_NAME" \ + --build-number="$JFROG_CLI_BUILD_NUMBER" + ''' } } stage('Publish Build Info') { steps { - sh """ - jfrog rt bp ${JFROG_CLI_BUILD_NAME} ${JFROG_CLI_BUILD_NUMBER} - """ + sh ''' + "$JF" rt build-collect-env + "$JF" rt build-add-git + "$JF" rt build-publish + ''' } } }