stage('Building Image') {
environment {
DOCKER_REPO = ''
DOCKER_IMAGE = ''
DOCKER_TAG = ''
RAVEN_CI_IMAGE = 'releases.cloud.raven.io/raven-public/ravenci'
RAVEN_CI_TAG = 'latest' // Replace with specific Raven CI tag if required
}
steps {
script {
// Log in to Docker registry
sh '''
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin $DOCKER_REPO
'''
// Build and push the Docker image
sh '''
docker buildx build --platform linux/amd64 --load \
-t $DOCKER_REPO/$DOCKER_IMAGE:$DOCKER_TAG \
-f Dockerfile .
docker push $DOCKER_REPO/$DOCKER_IMAGE:$DOCKER_TAG
'''
}
}
post {
always {
withCredentials([string(credentialsId: 'RAVEN_TOKEN', variable: 'RAVEN_TOKEN')]) {
script {
// Use the Raven CI image with docker.image()
docker.image("${RAVEN_CI_IMAGE}:${RAVEN_CI_TAG}").inside("-v /var/run/docker.sock:/var/run/docker.sock --entrypoint=''") {
sh '''
/bin/sh -c '
DOCKER_HOST="" ravenci scan --images-from="1h" --max-images=10 --pretty
'
'''
}
}
}
}
}
}