diff --git a/.env b/.env index 3f420706aa..a4f3395552 100644 --- a/.env +++ b/.env @@ -3,7 +3,7 @@ IMAGE_ARCH=amd64 OS_NAME=ubuntu20.04 DATE_VERSION=20230821-f2a6683 LATEST_DATE_VERSION=20230821-f2a6683 -GPU_DATE_VERSION=20230317-a1c7b0c +GPU_DATE_VERSION=20230822-a64488a LATEST_GPU_DATE_VERSION=20230317-a1c7b0c MINIO_ADDRESS=minio:9000 PULSAR_ADDRESS=pulsar://pulsar:6650 diff --git a/build/docker/builder/gpu/ubuntu20.04/Dockerfile b/build/docker/builder/gpu/ubuntu20.04/Dockerfile index 07487b8d6b..d95e41a1aa 100644 --- a/build/docker/builder/gpu/ubuntu20.04/Dockerfile +++ b/build/docker/builder/gpu/ubuntu20.04/Dockerfile @@ -67,6 +67,8 @@ RUN mkdir -p /home/milvus/.vscode-server/extensions \ COPY --chown=0:0 build/docker/builder/entrypoint.sh / +RUN ls -la /entrypoint.sh + RUN wget -qO- "https://github.com/jeffoverflow/autouseradd/releases/download/1.2.0/autouseradd-1.2.0-amd64.tar.gz" | tar xz -C / --strip-components 1 RUN wget -O /tini https://github.com/krallin/tini/releases/download/v0.19.0/tini && \ diff --git a/build/docker/milvus/gpu/ubuntu20.04/Dockerfile b/build/docker/milvus/gpu/ubuntu20.04/Dockerfile index 89c643d569..a0bf2b113a 100644 --- a/build/docker/milvus/gpu/ubuntu20.04/Dockerfile +++ b/build/docker/milvus/gpu/ubuntu20.04/Dockerfile @@ -9,7 +9,7 @@ # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express # or implied. See the License for the specific language governing permissions and limitations under the License. ARG MILVUS_BASE_IMAGE_REPO="milvusdb/milvus-base" -ARG MILVUS_BASE_IMAGE_TAG="gpu-20230317-e62607a" +ARG MILVUS_BASE_IMAGE_TAG="gpu-20230822-34f9067" FROM ${MILVUS_BASE_IMAGE_REPO}:${MILVUS_BASE_IMAGE_TAG} COPY ./bin/ /milvus/bin/ diff --git a/build/docker/milvus/gpu/ubuntu20.04/Dockerfile.base b/build/docker/milvus/gpu/ubuntu20.04/Dockerfile.base index c42f8cbb15..716e2bedf6 100644 --- a/build/docker/milvus/gpu/ubuntu20.04/Dockerfile.base +++ b/build/docker/milvus/gpu/ubuntu20.04/Dockerfile.base @@ -15,7 +15,7 @@ FROM milvusdb/openblas:ubuntu20.04-20220914-179ea77 AS openblas #FROM ubuntu:focal-20220426 #ENV DEBIAN_FRONTEND=noninteractive -FROM nvidia/cuda:11.6.0-runtime-ubuntu20.04 +FROM nvidia/cuda:11.8.0-runtime-ubuntu20.04 ENV TZ=UTC diff --git a/ci/jenkins/PublishGPUImages.groovy b/ci/jenkins/PublishGPUImages.groovy new file mode 100644 index 0000000000..628463ce69 --- /dev/null +++ b/ci/jenkins/PublishGPUImages.groovy @@ -0,0 +1,114 @@ +#!/usr/bin/env groovy + +pipeline { + agent { + kubernetes { + defaultContainer 'main' + yamlFile "ci/jenkins/pod/rte-gpu.yaml" + customWorkspace '/home/jenkins/agent/workspace' + // We allow this pod to remain active for a while, later jobs can + // reuse cache in previous created nodes. + // idleMinutes 120 + } + } + + options { + timestamps() + timeout(time: 70, unit: 'MINUTES') + // parallelsAlwaysFailFast() + disableConcurrentBuilds() + } + + environment { + DOCKER_CREDENTIALS_ID = "dockerhub" + TARGET_REPO = "milvusdb" + CI_DOCKER_CREDENTIAL_ID = "harbor-milvus-io-registry" + HARBOR_REPO = "harbor.milvus.io" + } + + stages { + stage('Publish Milvus GPU Images'){ + // parallel { + // stage('Publish Milvus Images') { + steps { + container('main') { + script { + sh './build/set_docker_mirror.sh' + sh "./build/builder_gpu.sh /bin/bash -c \"make gpu-install\"" + + def date = sh(returnStdout: true, script: 'date +%Y%m%d').trim() + def gitShortCommit = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim() + + withCredentials([usernamePassword(credentialsId: "${env.DOCKER_CREDENTIALS_ID}", usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD')]) { + sh 'docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD}' + sh """ + export MILVUS_IMAGE_REPO="${env.TARGET_REPO}/milvus" + export MILVUS_HARBOR_IMAGE_REPO="${env.HARBOR_REPO}/milvus/milvus" + export MILVUS_IMAGE_TAG="${env.BRANCH_NAME}-${date}-${gitShortCommit}" + build/build_image_gpu.sh + docker push \${MILVUS_IMAGE_REPO}:\${MILVUS_IMAGE_TAG} + docker tag \${MILVUS_IMAGE_REPO}:\${MILVUS_IMAGE_TAG} \${MILVUS_IMAGE_REPO}:${env.BRANCH_NAME}-latest + docker tag \${MILVUS_IMAGE_REPO}:\${MILVUS_IMAGE_TAG} \${MILVUS_HARBOR_IMAGE_REPO}:\${MILVUS_IMAGE_TAG} + docker push \${MILVUS_IMAGE_REPO}:${env.BRANCH_NAME}-latest + docker logout + """ + } + + withCredentials([usernamePassword(credentialsId: "${env.CI_DOCKER_CREDENTIAL_ID}", usernameVariable: 'CI_REGISTRY_USERNAME', passwordVariable: 'CI_REGISTRY_PASSWORD')]){ + sh "docker login ${env.HARBOR_REPO} -u '${CI_REGISTRY_USERNAME}' -p '${CI_REGISTRY_PASSWORD}'" + sh """ + export MILVUS_HARBOR_IMAGE_REPO="${env.HARBOR_REPO}/milvus/milvus" + export MILVUS_IMAGE_TAG="${env.BRANCH_NAME}-${date}-${gitShortCommit}" + docker push \${MILVUS_HARBOR_IMAGE_REPO}:\${MILVUS_IMAGE_TAG} + docker logout + """ + } + } + } + } + // } + // stage('Build Centos Milvus Image'){ + // agent { + // kubernetes { + // defaultContainer 'main' + // yamlFile "ci/jenkins/pod/rte.yaml" + // customWorkspace '/home/jenkins/agent/workspace' + // } + // } + // steps { + // container('main') { + // script { + // sh './build/set_docker_mirror.sh' + // sh "OS_NAME=centos7 build/builder.sh /bin/bash -c \"make install\"" + // sh "OS_NAME=centos7 build/build_image.sh " + // } + // } + // } + // } + + + // } + } + } + post { + unsuccessful { + container('jnlp') { + script { + def authorEmail = sh returnStdout: true, script: 'git --no-pager show -s --format=\'%ae\' HEAD' + emailext subject: '$DEFAULT_SUBJECT', + body: '$DEFAULT_CONTENT', + recipientProviders: [developers(), culprits()], + replyTo: '$DEFAULT_REPLYTO', + to: "${authorEmail},qa@zilliz.com,devops@zilliz.com" + } + } + } + cleanup { + container('main') { + script { + sh 'find . -name . -o -prune -exec rm -rf -- {} +' /* clean up our workspace */ + } + } + } + } +}