Instrumental | 4ad4763 | 2018-07-13 15:49:26 -0500 | [diff] [blame] | 1 | #!/bin/bash |
Instrumental | 7a1817b | 2018-11-05 11:11:15 -0600 | [diff] [blame] | 2 | ######### |
| 3 | # ============LICENSE_START==================================================== |
| 4 | # org.onap.aaf |
| 5 | # =========================================================================== |
| 6 | # Copyright (c) 2017 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==================================================== |
Sai Gandham | 6611834 | 2018-04-04 15:33:05 -0500 | [diff] [blame] | 20 | # |
| 21 | # Docker Building Script. Reads all the components generated by install, on per-version basis |
| 22 | # |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 23 | |
Instrumental | aae5c07 | 2019-03-29 15:42:37 -0500 | [diff] [blame] | 24 | # Pull in Variables from d.props |
| 25 | if [ ! -e ./d.props ]; then |
| 26 | cp d.props.init d.props |
| 27 | fi |
| 28 | |
| 29 | . ./d.props |
| 30 | |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 31 | # process input. originally, an optional positional parameter is used to designate a component. |
| 32 | # A flagged parameter has been added to optionally indicate docker pull registry. Ideally, options |
| 33 | # would be flagged but we're avoiding ripple effect of changing original usage |
| 34 | if [ $# -gt 0 ]; then |
| 35 | if [ "$1" == "-r" ]; then |
| 36 | DOCKER_PULL_REGISTRY=$2 |
| 37 | else |
| 38 | AAF_COMPONENTS=$1 |
| 39 | if [[ $# -gt 1 && $2 == "-r" ]]; then |
| 40 | # If docker.io is indicated, registry var is void as that is docker default |
| 41 | if [ $3 == "docker.io" ]; then |
| 42 | DOCKER_PULL_REGISTRY='' |
| 43 | else |
| 44 | DOCKER_PULL_REGISTRY=$3 |
| 45 | fi |
| 46 | fi |
| 47 | fi |
| 48 | fi |
| 49 | |
| 50 | echo "$0: AAF_COMPONENTS=$AAF_COMPONENTS DOCKER_PULL_REGISTRY=$DOCKER_PULL_REGISTRY" |
| 51 | |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 52 | DOCKER=${DOCKER:=docker} |
| 53 | |
Instrumental | bc299c0 | 2018-09-25 06:42:31 -0500 | [diff] [blame] | 54 | echo "Building Containers for aaf components, version $VERSION" |
| 55 | |
Instrumental | 3019a28 | 2018-09-25 16:05:20 -0500 | [diff] [blame] | 56 | # AAF_cass now needs a version... |
Instrumental | 3505a52 | 2019-01-31 14:49:24 -0600 | [diff] [blame] | 57 | cd ../auth-cass/docker |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 58 | bash ./dbuild.sh $DOCKER_PULL_REGISTRY |
Instrumental | 3505a52 | 2019-01-31 14:49:24 -0600 | [diff] [blame] | 59 | cd - |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 60 | |
| 61 | # AAF Base version - set the core image, etc |
| 62 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 63 | -e 's/${DUSER}/'${DUSER}'/g' \ |
sandovalfr | d6bda19 | 2019-03-21 14:21:09 -0600 | [diff] [blame] | 64 | -e 's/${REGISTRY}/'${DOCKER_PULL_REGISTRY}'/g' \ |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 65 | Dockerfile.base > Dockerfile |
| 66 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_base:${VERSION} . |
| 67 | $DOCKER tag ${ORG}/${PROJECT}/aaf_base:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_base:${VERSION} |
| 68 | $DOCKER tag ${ORG}/${PROJECT}/aaf_base:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_base:latest |
| 69 | rm Dockerfile |
Instrumental | 3019a28 | 2018-09-25 16:05:20 -0500 | [diff] [blame] | 70 | |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 71 | # Create the AAF Config (Security) Images |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 72 | cd .. |
Instrumental | 9fe1153 | 2018-10-23 17:40:47 -0500 | [diff] [blame] | 73 | cp auth-cmd/target/aaf-auth-cmd-$VERSION-full.jar sample/bin |
Instrumental | e2fa0e6 | 2019-02-07 11:09:32 -0600 | [diff] [blame] | 74 | cp auth-batch/target/aaf-auth-batch-$VERSION-full.jar sample/bin |
Instrumental | bc299c0 | 2018-09-25 06:42:31 -0500 | [diff] [blame] | 75 | cp -Rf ../conf/CA sample |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 76 | |
| 77 | # AAF Config image (for AAF itself) |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 78 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 79 | -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' \ |
| 80 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 81 | -e 's/${DUSER}/'${DUSER}'/g' \ |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 82 | docker/Dockerfile.config > sample/Dockerfile |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 83 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_config:${VERSION} sample |
| 84 | $DOCKER tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_config:${VERSION} |
Instrumental | 3505a52 | 2019-01-31 14:49:24 -0600 | [diff] [blame] | 85 | $DOCKER tag ${ORG}/${PROJECT}/aaf_config:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_config:latest |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 86 | |
Instrumental | 93871ff | 2018-10-15 07:37:28 -0500 | [diff] [blame] | 87 | cp ../cadi/servlet-sample/target/aaf-cadi-servlet-sample-${VERSION}-sample.jar sample/bin |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 88 | # AAF Agent Image (for Clients) |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 89 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 90 | -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' \ |
| 91 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 92 | -e 's/${DUSER}/'${DUSER}'/g' \ |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 93 | docker/Dockerfile.agent > sample/Dockerfile |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 94 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_agent:${VERSION} sample |
| 95 | $DOCKER tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:${VERSION} |
| 96 | $DOCKER tag ${ORG}/${PROJECT}/aaf_agent:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_agent:latest |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 97 | |
| 98 | # Clean up |
Instrumental | e2fa0e6 | 2019-02-07 11:09:32 -0600 | [diff] [blame] | 99 | rm sample/Dockerfile sample/bin/aaf-*-${VERSION}-full.jar sample/bin/aaf-cadi-servlet-sample-${VERSION}-sample.jar |
Instrumental | bc299c0 | 2018-09-25 06:42:31 -0500 | [diff] [blame] | 100 | rm -Rf sample/CA |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 101 | cd - |
Instrumental | 365638c | 2018-10-01 15:26:03 -0500 | [diff] [blame] | 102 | |
Instrumental | 32cdd55 | 2018-07-19 13:29:32 -0500 | [diff] [blame] | 103 | ######## |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 104 | # Second, build a core Docker Image |
| 105 | echo Building aaf_$AAF_COMPONENT... |
| 106 | # Apply currrent Properties to Docker file, and put in place. |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 107 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 108 | -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' \ |
| 109 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 110 | -e 's/${DUSER}/'${DUSER}'/g' \ |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 111 | Dockerfile.core >../aaf_${VERSION}/Dockerfile |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 112 | cd .. |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 113 | echo "#######" |
| 114 | pwd |
| 115 | echo "#######" |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 116 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_core:${VERSION} aaf_${VERSION} |
| 117 | $DOCKER tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:${VERSION} |
| 118 | $DOCKER tag ${ORG}/${PROJECT}/aaf_core:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_core:latest |
Instrumental | 9ec2895 | 2018-07-12 11:14:10 -0500 | [diff] [blame] | 119 | rm aaf_${VERSION}/Dockerfile |
| 120 | cd - |
Sai Gandham | 6611834 | 2018-04-04 15:33:05 -0500 | [diff] [blame] | 121 | |
Instrumental | 93871ff | 2018-10-15 07:37:28 -0500 | [diff] [blame] | 122 | ####### |
| 123 | # Do all the Containers related to AAF Services |
| 124 | ####### |
Instrumental | be7e0d1 | 2019-04-04 21:42:19 -0500 | [diff] [blame] | 125 | AAF_COMPONENTS=$(cat components) |
Sai Gandham | 6611834 | 2018-04-04 15:33:05 -0500 | [diff] [blame] | 126 | |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 127 | cp ../sample/bin/pod_wait.sh ../aaf_${VERSION}/bin |
Sai Gandham | 6611834 | 2018-04-04 15:33:05 -0500 | [diff] [blame] | 128 | for AAF_COMPONENT in ${AAF_COMPONENTS}; do |
Instrumental | 4ad4763 | 2018-07-13 15:49:26 -0500 | [diff] [blame] | 129 | echo Building aaf_$AAF_COMPONENT... |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 130 | if [ "hello" = "${AAF_COMPONENT}" ]; then |
| 131 | echo Building Hello separately |
| 132 | DF="Dockerfile.hello" |
| 133 | cp -Rf ../sample/etc ../aaf_${VERSION}/etc |
| 134 | else |
| 135 | DF="Dockerfile.ms" |
| 136 | fi |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 137 | sed -e 's/${AAF_VERSION}/'${VERSION}'/g' \ |
| 138 | -e 's/${AAF_COMPONENT}/'${AAF_COMPONENT}'/g' \ |
| 139 | -e 's/${DOCKER_REPOSITORY}/'${DOCKER_REPOSITORY}'/g' \ |
Instrumental | 628b710 | 2019-02-15 19:40:04 -0600 | [diff] [blame] | 140 | -e 's/${DUSER}/'${DUSER}'/g' \ |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 141 | $DF >../aaf_${VERSION}/Dockerfile |
Instrumental | 4ad4763 | 2018-07-13 15:49:26 -0500 | [diff] [blame] | 142 | cd .. |
Instrumental | 9405361 | 2018-10-08 11:27:18 -0500 | [diff] [blame] | 143 | $DOCKER build -t ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} aaf_${VERSION} |
| 144 | $DOCKER tag ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} |
| 145 | $DOCKER tag ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} ${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:latest |
Instrumental | 4ad4763 | 2018-07-13 15:49:26 -0500 | [diff] [blame] | 146 | rm aaf_${VERSION}/Dockerfile |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 147 | if [ -e aaf_${VERSION}/etc ]; then |
| 148 | rm -Rf aaf_${VERSION}/etc |
| 149 | fi |
Instrumental | 4ad4763 | 2018-07-13 15:49:26 -0500 | [diff] [blame] | 150 | cd - |
Sai Gandham | 6611834 | 2018-04-04 15:33:05 -0500 | [diff] [blame] | 151 | done |
Instrumental | bd7def7 | 2019-04-03 08:25:28 -0500 | [diff] [blame] | 152 | |
| 153 | # Final cleanup |
Instrumental | 12414fe | 2019-01-22 10:27:32 -0600 | [diff] [blame] | 154 | rm ../aaf_${VERSION}/bin/pod_wait.sh |