5dead3f0e21d2f5ca54e26dcf23098cb7924504f
[aaf/sms.git] / sms-service / bin / build_sms_image.sh
1 #!/bin/bash
2 set -e
3 DIRNAME=`dirname $0`
4 DOCKER_BUILD_DIR=`cd $DIRNAME/; pwd`
5 echo "DOCKER_BUILD_DIR=${DOCKER_BUILD_DIR}"
6 cd ${DOCKER_BUILD_DIR}
7
8 BUILD_ARGS="--no-cache"
9 ORG="onap"
10 VERSION="4.0.0"
11 PROJECT="aaf"
12 IMAGE="sms"
13 DOCKER_REPOSITORY="nexus3.onap.org:10003"
14 IMAGE_NAME="${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/${IMAGE}"
15 TIMESTAMP=$(date +"%Y%m%dT%H%M%S")
16 DUSER=aaf
17
18 if [ $HTTP_PROXY ]; then
19     BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}"
20 fi
21 if [ $HTTPS_PROXY ]; then
22     BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}"
23 fi
24
25 function generate_binary {
26     pushd ../src/sms
27     make build
28     popd
29     pushd ../src/preload
30     make build
31     popd
32     cp ../target/sms .
33     cp ../target/preload .
34 }
35
36 function copy_certificates {
37     cp ../src/sms/certs/aaf_root_ca.cer .
38     cp ../src/sms/certs/aaf-sms.pub .
39     cp ../src/sms/certs/aaf-sms.pr .
40 }
41
42 function cleanup {
43     rm sms preload
44     rm aaf-sms.pub
45     rm aaf-sms.pr
46     rm aaf_root_ca.cer
47 }
48
49 function build_image {
50     echo "Start build docker image: ${IMAGE_NAME}"
51     docker build ${BUILD_ARGS} -t ${IMAGE_NAME}:latest -f smsdockerfile .
52 }
53
54 function push_image_tag {
55     TAG_NAME=$1
56     echo "Start push ${TAG_NAME}"
57     docker tag ${IMAGE_NAME}:latest ${TAG_NAME}
58     docker push ${TAG_NAME}
59 }
60
61 function push_image {
62     echo "Start push ${IMAGE_NAME}:latest"
63     docker push ${IMAGE_NAME}:latest
64
65     push_image_tag ${IMAGE_NAME}:${VERSION}-SNAPSHOT-latest
66 }
67
68 generate_binary
69 copy_certificates
70 build_image
71 push_image
72 cleanup