pipeline { agent any options { timestamps() disableConcurrentBuilds() } environment { // ===== Registry ===== REGISTRY_HOST = "registry.pjt.kr" IMAGE_REPO = "alist/api" IMAGE_TAG = "" DOCKER_CRED = "docker-registry-cred" // ← Jenkins Credentials ID } stages { stage('1) Git check out') { steps { checkout scm } } stage('2) Build (Gradle)') { steps { sh ''' set -e chmod +x ./gradlew ./gradlew clean build -x test ''' } } stage('3) image tag create') { steps { script { env.IMAGE_TAG = sh( script: 'echo "${BUILD_NUMBER}-$(git rev-parse --short HEAD)"', returnStdout: true ).trim() echo "IMAGE_TAG = ${env.IMAGE_TAG}" } } } } }