Upgrade to released common & models
[policy/engine.git] / docker_build.sh
1 #!/bin/bash
2 #
3 #============LICENSE_START==================================================
4 #  ONAP Policy Engine
5 #===========================================================================
6 #  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
7 #===========================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #
12 #         http://www.apache.org/licenses/LICENSE-2.0
13 #
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 #============LICENSE_END==================================================
20 #
21
22 #
23 echo '============== STARTING SCRIPT TO BUILD DOCKER IMAGES ================='
24 DOCKER_REPOSITORY=nexus3.onap.org:10003
25 MVN_VERSION=$(cat packages/docker/target/version)
26 MVN_MAJMIN_VERSION=$(cut -f 1,2 -d . packages/docker/target/version)
27 TIMESTAMP=$(date -u +%Y%m%dT%H%M%S)
28 BUILD_ARGS="--build-arg BUILD_VERSION_ENGINE=${MVN_VERSION}"
29 IMAGE=policy-pe
30
31 if [ $HTTP_PROXY ]; then
32     BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}"
33 fi
34 if [ $HTTPS_PROXY ]; then
35     BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}"
36 fi
37
38 echo $DOCKER_REPOSITORY
39 echo $MVN_VERSION
40 echo $MVN_MAJMIN_VERSION
41 echo $TIMESTAMP
42
43 if [[ -z $MVN_VERSION ]]
44 then
45     echo "MVN_VERSION is empty"
46     exit 1
47 fi
48
49 if [[ -z $MVN_MAJMIN_VERSION ]]
50 then
51     echo "MVN_MAJMIN_VERSION is empty"
52     exit 1
53 fi
54
55 if [[ $MVN_VERSION == *"SNAPSHOT"* ]]
56 then
57     MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-SNAPSHOT"
58 else
59     MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-STAGING"
60 fi
61
62 echo $MVN_MAJMIN_VERSION
63
64 docker login -u docker -p docker nexus3.onap.org:10001
65 docker pull nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0
66 docker tag nexus3.onap.org:10001/onap/policy-common-alpine:1.4.0 onap/policy-common-alpine:1.4.0
67
68 echo "Building $IMAGE"
69
70 #
71 # This is the local latest tagged image. The Dockerfile's need this to build images
72 #
73 TAGS="--tag onap/${IMAGE}:latest"
74 #
75 # This is the nexus repo prepended for latest tagged image.
76 #
77 TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/onap/${IMAGE}:latest"
78 #
79 # This has the nexus repo prepended and only major/minor version with latest
80 #
81 TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_MAJMIN_VERSION}-latest"
82 #
83 # This has the nexus repo prepended and major/minor/patch version with timestamp
84 #
85 TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_VERSION}-STAGING-${TIMESTAMP}Z"
86
87 echo $TAGS
88
89 docker build --quiet ${BUILD_ARGS} $TAGS packages/docker/target/$IMAGE
90
91 if [ $? -ne 0 ]
92 then
93     echo "Docker build failed"
94     docker images
95     exit 1
96 fi
97
98 docker images
99
100 echo "Pushing $IMAGE"
101
102 docker push ${DOCKER_REPOSITORY}/onap/${IMAGE}:latest
103
104 if [ $? -ne 0 ]
105 then
106     echo "Docker push failed"
107     exit 1
108
109 fi
110
111 docker push ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_MAJMIN_VERSION}-latest
112
113 if [ $? -ne 0 ]
114 then
115     echo "Docker push failed"
116     exit 1
117
118 fi
119 docker push ${DOCKER_REPOSITORY}/onap/${IMAGE}:${MVN_VERSION}-STAGING-${TIMESTAMP}Z
120
121 if [ $? -ne 0 ]
122 then
123     echo "Docker push failed"
124     exit 1
125
126 fi