incr/Jenkinsfile

56 lines
1.5 KiB
Text
Raw Normal View History

2025-07-13 21:51:56 +02:00
pipeline {
agent any
environment {
REGISTRY = 'codeberg.org/lvl0/incr'
IMAGE_TAG = "${env.GIT_TAG_NAME ?: 'latest'}"
}
triggers {
pollSCM('H/5 * * * *') // Replace with webhook later
}
stages {
stage('Check Tag') {
when {
expression {
return env.GIT_TAG_NAME != null
}
}
steps {
echo "🕵️ Detected tag: ${env.GIT_TAG_NAME}"
}
}
stage('Build Docker Image') {
when {
expression {
return env.GIT_TAG_NAME != null
}
}
steps {
sh """
echo "⚙️ Building Docker image for ${IMAGE_TAG}"
docker build -f docker/Dockerfile -t ${REGISTRY}:${IMAGE_TAG} .
"""
}
}
stage('Push to Registry') {
when {
expression {
return env.GIT_TAG_NAME != null
}
}
steps {
withCredentials([usernamePassword(credentialsId: 'codeberg-registry', usernameVariable: 'REGISTRY_USER', passwordVariable: 'REGISTRY_PASS')]) {
sh """
echo "$REGISTRY_PASS" | docker login ${REGISTRY} -u "$REGISTRY_USER" --password-stdin
docker push ${REGISTRY}:${IMAGE_TAG}
"""
}
}
}
}
}