diff options
Diffstat (limited to 'docker/build_image.sh')
-rwxr-xr-x | docker/build_image.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/docker/build_image.sh b/docker/build_image.sh new file mode 100755 index 0000000..8f05866 --- /dev/null +++ b/docker/build_image.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# The script starts in the root folder of the repo, which has the following outline +# We fetch the version information from version.properties, build docker files and +# do a docker push. Since the job will be run under Jenkins, it will have the Nexus +# credentials +# +# ├── docker +# │ ├── Dockerfile +# │ └── build_image.sh <--- THIS SCRIPT is here +# ├── docs +# ├── osdf +# ├── pom.xml +# ├── test +# └── version.properties <--- Version information here + +set -e + +# Folder settings +DOCKER_REPOSITORY=nexus3.onap.org:10003 +ORG=onap +PROJECT=optf-osdf +IMAGE_NAME=$DOCKER_REPOSITORY/$ORG/$PROJECT + +# Version properties +source version.properties +VERSION=$release_version +STAGING=${release_version}-SNAPSHOT-$(date -u +date -u '+%Y%m%dT%H%M%SZ') + +function log_ts() { # Log message with timestamp + echo [DEBUG LOG at $(date -u +%Y%m%d:%H%M%S)] "$@" +} + +function build_image() { + log_ts Building Image in folder: $PWD + docker build -t ${IMAGE_NAME}:${VERSION} -t ${IMAGE_NAME}:latest . + log_ts ... Built +} + +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 +} + +( + cd $(dirname $0) + build_image + push_image +) |