1#!/usr/bin/env bash 2ARTIFACTORY_URL=eu-west-1.artifactory.aws.arm.com 3DOCKER_REGISTRY=mobile-studio--docker.${ARTIFACTORY_URL} 4IMAGE_NAME=astcenc 5IMAGE_VERSION=3.2.0 6 7# Check Artifactory credentials are set 8if [[ -z "${ARTIFACTORY_CREDENTIALS}" ]] 9then 10 echo "ARTIFACTORY_CREDENTIALS not set" 11 echo "e.g." 12 echo " export ARTIFACTORY_CREDENTIALS=my.name@arm.com:API-KEY" 13 exit 1 14fi 15 16echo "Preparation" 17rm -fr tmp 18mkdir -p tmp 19 20echo "Get static analysis tools" 21curl -L --user ${ARTIFACTORY_CREDENTIALS} https://${ARTIFACTORY_URL}/artifactory/mobile-studio.tools/coverity/cov-analysis-linux64-2023.3.0.sh --output tmp/coverity_install.sh 22curl -L --user ${ARTIFACTORY_CREDENTIALS} https://${ARTIFACTORY_URL}/artifactory/mobile-studio.tools/coverity/license.dat --output tmp/coverity_license.dat 23 24echo "Building image" 25docker build --progress=plain \ 26 -f jenkins/build.Dockerfile \ 27 -t $IMAGE_NAME:latest \ 28 -t $IMAGE_NAME:$IMAGE_VERSION \ 29 -t $DOCKER_REGISTRY/$IMAGE_NAME:latest \ 30 -t $DOCKER_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION \ 31 tmp/ 32 33echo "Clean up temp files" 34rm -rf tmp 35 36if [ "${1}" = "push" ] 37then 38 echo "Pushing to $DOCKER_REGISTRY" 39 docker login -u ${ARTIFACTORY_CREDENTIALS%:*} -p ${ARTIFACTORY_CREDENTIALS#*:} $DOCKER_REGISTRY 40 docker push $DOCKER_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION 41 # docker push $DOCKER_REGISTRY/$IMAGE_NAME:latest 42 echo "Clean up images" 43 docker rmi $IMAGE_NAME:latest $IMAGE_NAME:$IMAGE_VERSION $DOCKER_REGISTRY/$IMAGE_NAME:latest $DOCKER_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION 44else 45 echo "Build complete. To manually push to registry, run:" 46 echo " docker login -u ${ARTIFACTORY_CREDENTIALS%:*} -p ${ARTIFACTORY_CREDENTIALS#*:} $DOCKER_REGISTRY" 47 echo " docker push \"$DOCKER_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION\"" 48 # echo " docker push \"$DOCKER_REGISTRY/$IMAGE_NAME:latest\"" 49fi 50 51echo "Script Completed" 52