publishImages.groovy 2.5 KB
Newer Older
T
add ci  
test 已提交
1 2
container('publish-images') {
    timeout(time: 15, unit: 'MINUTES') {
3
        dir ("docker/deploy/${env.BINRARY_VERSION}/${env.OS_NAME}") {
T
add ci  
test 已提交
4
            def binaryPackage = "${PROJECT_NAME}-${PACKAGE_VERSION}.tar.gz"
5

T
add ci  
test 已提交
6 7 8 9 10 11 12 13 14 15 16
            withCredentials([usernamePassword(credentialsId: "${params.JFROG_CREDENTIALS_ID}", usernameVariable: 'JFROG_USERNAME', passwordVariable: 'JFROG_PASSWORD')]) {
                def downloadStatus = sh(returnStatus: true, script: "curl -u${JFROG_USERNAME}:${JFROG_PASSWORD} -O ${params.JFROG_ARTFACTORY_URL}/milvus/package/${binaryPackage}")

                if (downloadStatus != 0) {
                    error("\" Download \" ${params.JFROG_ARTFACTORY_URL}/milvus/package/${binaryPackage} \" failed!")
                }
            }
            sh "tar zxvf ${binaryPackage}"
            def imageName = "${PROJECT_NAME}/engine:${DOCKER_VERSION}"

            try {
17 18 19
                def isExistSourceImage = sh(returnStatus: true, script: "docker inspect --type=image ${imageName} 2>&1 > /dev/null")
                if (isExistSourceImage == 0) {
                    def removeSourceImageStatus = sh(returnStatus: true, script: "docker rmi ${imageName}")
20
                }
21

T
add ci  
test 已提交
22
                def customImage = docker.build("${imageName}")
23

M
milvus-ci-robot 已提交
24
                def isExistTargeImage = sh(returnStatus: true, script: "docker inspect --type=image ${params.DOKCER_REGISTRY_URL}/${imageName} 2>&1 > /dev/null")
25
                if (isExistTargeImage == 0) {
M
milvus-ci-robot 已提交
26
                    def removeTargeImageStatus = sh(returnStatus: true, script: "docker rmi ${params.DOKCER_REGISTRY_URL}/${imageName}")
27 28
                }

M
milvus-ci-robot 已提交
29
                docker.withRegistry("https://${params.DOKCER_REGISTRY_URL}", "${params.DOCKER_CREDENTIALS_ID}") {
T
add ci  
test 已提交
30 31 32 33 34
                    customImage.push()
                }
            } catch (exc) {
                throw exc
            } finally {
35 36 37
                def isExistSourceImage = sh(returnStatus: true, script: "docker inspect --type=image ${imageName} 2>&1 > /dev/null")
                if (isExistSourceImage == 0) {
                    def removeSourceImageStatus = sh(returnStatus: true, script: "docker rmi ${imageName}")
38
                }
M
milvus-ci-robot 已提交
39 40 41 42 43

                def isExistTargeImage = sh(returnStatus: true, script: "docker inspect --type=image ${params.DOKCER_REGISTRY_URL}/${imageName} 2>&1 > /dev/null")
                if (isExistTargeImage == 0) {
                    def removeTargeImageStatus = sh(returnStatus: true, script: "docker rmi ${params.DOKCER_REGISTRY_URL}/${imageName}")
                }
T
add ci  
test 已提交
44 45 46 47
            }
        } 
    }
}