mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-21 23:35:50 +00:00
Update Jenkinsfile
This commit is contained in:
parent
a332ddf09d
commit
72cd1612fa
1 changed files with 77 additions and 66 deletions
133
Jenkinsfile
vendored
133
Jenkinsfile
vendored
|
@ -6,74 +6,84 @@ pipeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
AWS_CREDENTIAL_NAME = "AWSCredentials"
|
AWS_CREDENTIAL_NAME = "AWSCredentials"pipeline {
|
||||||
REGION = "ap-northeast-2"
|
agent any
|
||||||
DOCKER_IMAGE_NAME = "std01-spring-petclinic"
|
|
||||||
ECR_REPOSITORY = "257307634175.dkr.ecr.ap-northeast-2.amazonaws.com"
|
|
||||||
ECR_DOCKER_IMAGE = "${ECR_REPOSITORY}/${DOCKER_IMAGE_NAME}"
|
|
||||||
}
|
|
||||||
|
|
||||||
stages {
|
tools {
|
||||||
stage('Git clone') {
|
jdk "jdk17"
|
||||||
steps {
|
maven "M3"
|
||||||
echo 'Git clone'
|
|
||||||
git url: 'https://github.com/lwj9812/spring-petclinic.git',
|
|
||||||
branch: 'efficient-webjars'
|
|
||||||
}
|
|
||||||
post {
|
|
||||||
success {
|
|
||||||
echo 'Git Clone Success!!'
|
|
||||||
}
|
|
||||||
failure {
|
|
||||||
echo 'Git Clone Fail'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Maven Build') {
|
environment {
|
||||||
steps {
|
AWS_CREDENTIAL_NAME = "AWSCredentials"
|
||||||
echo 'Maven Build'
|
REGION = "ap-northeast-2"
|
||||||
sh 'mvn -Dmaven.test.failure.ignore=true clean package'
|
DOCKER_IMAGE_NAME="std01-spring-petclinic"
|
||||||
}
|
ECR_REPOSITORY = "257307634175.dkr.ecr.ap-northeast-2.amazonaws.com"
|
||||||
post {
|
ECR_DOCKER_IMAGE = "${ECR_REPOSITORY}/${DOCKER_IMAGE_NAME}"
|
||||||
success {
|
|
||||||
junit 'target/surefire-reports/**/*.xml'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('Docker Image Build') {
|
stages {
|
||||||
steps {
|
stage('Git Clone') {
|
||||||
echo 'Docker Image Build'
|
steps {
|
||||||
dir("${env.WORKSPACE}") {
|
echo 'Git Clone'
|
||||||
sh """
|
git url: 'https://github.com/lwj9812/spring-petclinic.git',
|
||||||
docker build -t $ECR_DOCKER_IMAGE:$BUILD_NUMBER .
|
branch: 'efficient-webjars'
|
||||||
docker tag $ECR_DOCKER_IMAGE:$BUILD_NUMBER $ECR_DOCKER_IMAGE:latest
|
}
|
||||||
"""
|
post {
|
||||||
|
success {
|
||||||
|
echo 'success clone project'
|
||||||
|
}
|
||||||
|
failure {
|
||||||
|
error 'fail clone project' // exit pipeline
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
stage ('mvn Build') {
|
||||||
}
|
steps {
|
||||||
|
sh 'mvn -Dmaven.test.failure.ignore=true install'
|
||||||
stage ('Push Docker Image to ECR') {
|
}
|
||||||
steps {
|
post {
|
||||||
echo "Push Docker Image to ECR"
|
success {
|
||||||
script {
|
junit '**/target/surefire-reports/TEST-*.xml'
|
||||||
sh 'rm -f ~/.dockercfg ~/.docker/config.json || true'
|
}
|
||||||
docker.withRegistry("http://${ECR_REPOSITORY}", "ecr:${REGION}:${AWS_CREDENTIAL_NAME}") {
|
}
|
||||||
docker.image("${ECR_DOCKER_IMAGE}:${BUILD_NUMBER}").push()
|
|
||||||
docker.image("${ECR_DOCKER_IMAGE}:latest").push()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
stage ('Docker Build') {
|
||||||
}
|
steps {
|
||||||
|
dir("${env.WORKSPACE}") {
|
||||||
|
sh """
|
||||||
|
docker build -t $ECR_DOCKER_IMAGE:$BUILD_NUMBER .
|
||||||
|
docker tag $ECR_DOCKER_IMAGE:$BUILD_NUMBER $ECR_DOCKER_IMAGE:latest
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Push Docker Image') {
|
||||||
|
steps {
|
||||||
|
echo "Push Docker Image to ECR"
|
||||||
|
script{
|
||||||
|
// cleanup current user docker credentials
|
||||||
|
sh 'rm -f ~/.dockercfg ~/.docker/config.json || true'
|
||||||
|
docker.withRegistry("https://${ECR_REPOSITORY}", "ecr:${REGION}:${AWS_CREDENTIAL_NAME}") {
|
||||||
|
docker.image("${ECR_DOCKER_IMAGE}:${BUILD_NUMBER}").push()
|
||||||
|
docker.image("${ECR_DOCKER_IMAGE}:latest").push()
|
||||||
|
}
|
||||||
|
|
||||||
stage('Clean Up Docker Images on Jenkins Server'){
|
}
|
||||||
steps {
|
}
|
||||||
echo 'Cleaning up unused Docker images on Jenkins server'
|
post {
|
||||||
sh "docker image prune -a -f"
|
success {
|
||||||
}
|
echo "Push Docker Image success!"
|
||||||
}
|
}
|
||||||
stage('Upload to S3') {
|
}
|
||||||
|
}
|
||||||
|
stage('Clean Up Docker Images on Jenkins Server') {
|
||||||
|
steps {
|
||||||
|
echo 'Cleaning up unused Docker images on Jenkins server'
|
||||||
|
sh "docker image prune -f -a"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Upload to S3') {
|
||||||
steps {
|
steps {
|
||||||
echo 'Upload to S3'
|
echo 'Upload to S3'
|
||||||
dir("${env.WORKSPACE}") {
|
dir("${env.WORKSPACE}") {
|
||||||
|
@ -86,5 +96,6 @@ pipeline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue