Files
vllm-with-lmcache/Jenkinsfile
2026-04-15 10:17:37 +00:00

63 lines
2.0 KiB
Groovy

pipeline {
agent any
environment {
REGISTRY = 'atl.vultrcr.com/vllm'
IMAGE_NAME = 'vllm-with-lmcache'
}
parameters {
string(name: 'IMAGE_TAG', defaultValue: 'v0.19.0-cu130', description: 'Docker image tag')
string(name: 'GIT_REPO', defaultValue: 'https://sweetapi.com/biondizzle/vllm-with-lmcache.git', description: 'Git repository URL (optional, uses workspace if empty)')
string(name: 'GIT_BRANCH', defaultValue: 'master', description: 'Git branch to build')
string(name: 'BASE_IMAGE', defaultValue: 'vllm/vllm-openai:v0.19.0-cu130', description: 'Base Docker image')
}
stages {
stage('Checkout') {
steps {
script {
if (params.GIT_REPO) {
git url: params.GIT_REPO, branch: params.GIT_BRANCH
}
// Otherwise use workspace already checked out
}
}
}
stage('Build') {
steps {
script {
docker.withRegistry("https://${REGISTRY}", 'ATL_VCR_VLLM') {
sh """
docker build \
--build-arg BASE_IMAGE=${params.BASE_IMAGE} \
-t ${REGISTRY}/${IMAGE_NAME}:${params.IMAGE_TAG} \
.
"""
}
}
}
}
stage('Push') {
steps {
script {
docker.withRegistry("https://${REGISTRY}", 'ATL_VCR_VLLM') {
docker.image("${REGISTRY}/${IMAGE_NAME}:${params.IMAGE_TAG}").push()
}
}
}
}
}
post {
success {
echo "✅ Image pushed: ${REGISTRY}/${IMAGE_NAME}:${params.IMAGE_TAG}"
}
failure {
echo "❌ Build failed"
}
}
}