diff options
author | Dileep Ranganathan <dileep.ranganathan@intel.com> | 2018-07-19 09:26:56 -0700 |
---|---|---|
committer | Dileep Ranganathan <dileep.ranganathan@intel.com> | 2018-07-25 17:02:05 -0700 |
commit | 70d110ddddf96879a0a68d4a794ba70f770f6a84 (patch) | |
tree | b7e21cabca81408e2afa601257c9ca7e49a0bebe /docker/build_image.sh | |
parent | 443e3ae95abb92c7cd79fa975e0136a1539a5254 (diff) |
Fix Docker image to use the nexus artifacts
Fixed Docker image to use the nexus artifacts
instead of building from source. Added proxy support.
Updated the Docker image version for Casablanca.
Change-Id: If7f6eb206356c5b255804f27949d23ab85068f52
Issue-ID: OPTFRA-301
Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Diffstat (limited to 'docker/build_image.sh')
-rwxr-xr-x | docker/build_image.sh | 58 |
1 files changed, 47 insertions, 11 deletions
diff --git a/docker/build_image.sh b/docker/build_image.sh index c723a4f..d5e153b 100755 --- a/docker/build_image.sh +++ b/docker/build_image.sh @@ -25,28 +25,64 @@ IMAGE_NAME=$DOCKER_REPOSITORY/$ORG/$PROJECT # Version properties source version.properties VERSION=$release_version +SNAPSHOT=$snapshot_version STAGING=${release_version}-STAGING +TIMESTAMP=$(date +"%Y%m%dT%H%M%S")Z + +BUILD_ARGS="--no-cache" +if [ $HTTP_PROXY ]; then + BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}" +fi +if [ $HTTPS_PROXY ]; then + BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}" +fi function log_ts() { # Log message with timestamp echo [DEBUG LOG at $(date -u +%Y%m%d:%H%M%S)] "$@" } +function get_artifact_version() { + log_ts Get Maven Artifact version from pom.xml + MVN_ARTIFACT_VERSION=`echo -e "setns x=http://maven.apache.org/POM/4.0.0 \n xpath /x:project/x:version/text() "| xmllint --shell pom.xml | grep content | sed 's/.*content=//'` + log_ts Maven artifact version for OSDF is $MVN_ARTIFACT_VERSION + if [[ "$MVN_ARTIFACT_VERSION" =~ SNAPSHOT ]]; then + log_ts "REPO is snapshots"; + REPO=snapshots + else + log_ts "REPO is releases"; + REPO=releases + fi + BUILD_ARGS+=" --build-arg REPO=${REPO}" + BUILD_ARGS+=" --build-arg MVN_ARTIFACT_VERSION=${MVN_ARTIFACT_VERSION}" +} + function build_image() { - log_ts Building Image in folder: $PWD - docker build -t ${IMAGE_NAME}:${VERSION} -t ${IMAGE_NAME}:latest -t ${IMAGE_NAME}:${STAGING} . - log_ts ... Built + log_ts Building Image in folder: $PWD with build arguments ${BUILD_ARGS} + docker build ${BUILD_ARGS} -t ${IMAGE_NAME}:latest . + log_ts ... Built +} + +function tag_image() { + log_ts Tagging images: ${IMAGE_NAME}:\{$SNAPSHOT-${TIMESTAMP},$STAGING-${TIMESTAMP},latest\} + docker tag ${IMAGE_NAME}:latest ${IMAGE_NAME}:${SNAPSHOT}-${TIMESTAMP} + docker tag ${IMAGE_NAME}:latest ${IMAGE_NAME}:${STAGING}-${TIMESTAMP} + docker tag ${IMAGE_NAME}:latest ${IMAGE_NAME}:latest + log_ts ... Tagged images } function push_image(){ - log_ts Pushing images: ${IMAGE_NAME}:\{$VERSION,$STAGING,latest\} - docker push ${IMAGE_NAME}:${VERSION} - docker push ${IMAGE_NAME}:${STAGING} - docker push ${IMAGE_NAME}:latest - log_ts ... Pushed images + log_ts Pushing images: ${IMAGE_NAME}:\{$SNAPSHOT-${TIMESTAMP},$STAGING-${TIMESTAMP},latest\} + docker push ${IMAGE_NAME}:${SNAPSHOT}-${TIMESTAMP} + docker push ${IMAGE_NAME}:${STAGING}-${TIMESTAMP} + docker push ${IMAGE_NAME}:latest + log_ts ... Pushed images } ( - cd $(dirname $0) - build_image - push_image + get_artifact_version + # Switch to docker build directory + cd $(dirname $0) + build_image + tag_image + push_image ) |