|
| 1 | +#!/bin/bash |
1 | 2 | # Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
|
2 | 3 | # Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
|
3 | 4 |
|
| 5 | +function clean_jenkins { |
| 6 | + echo "Cleaning." |
| 7 | + /usr/local/packages/aime/ias/run_as_root "${PROJECT_ROOT}/src/integration-tests/bash/clean_docker_k8s.sh -y" |
| 8 | +} |
| 9 | + |
| 10 | +function setup_jenkins { |
| 11 | + echo "Setting up." |
| 12 | + /usr/local/packages/aime/ias/run_as_root "sh ${PROJECT_ROOT}/src/integration-tests/bash/install_docker_k8s.sh -y -u wls -v ${K8S_VERSION}" |
| 13 | + set +x |
| 14 | + . ~/.dockerk8senv |
| 15 | + set -x |
| 16 | + id |
| 17 | + |
| 18 | + docker login -u [email protected] -p $docker_pass wlsldi-v2.docker.oraclecorp.com |
| 19 | + docker images |
| 20 | + |
| 21 | + pull_tag_images |
| 22 | + |
| 23 | + # create a docker image for the operator code being tested |
| 24 | + docker build -t "${IMAGE_NAME_OPERATOR}:${IMAGE_TAG_OPERATOR}" --no-cache=true . |
| 25 | + |
| 26 | + docker images |
| 27 | +} |
| 28 | + |
| 29 | +function pull_tag_images { |
| 30 | + |
| 31 | + echo "Pull and tag the images we need" |
| 32 | + docker pull wlsldi-v2.docker.oraclecorp.com/store-weblogic-12.2.1.3:latest |
| 33 | + docker tag wlsldi-v2.docker.oraclecorp.com/store-weblogic-12.2.1.3:latest store/oracle/weblogic:12.2.1.3 |
| 34 | + |
| 35 | + docker pull wlsldi-v2.docker.oraclecorp.com/store-serverjre-8:latest |
| 36 | + docker tag wlsldi-v2.docker.oraclecorp.com/store-serverjre-8:latest store/oracle/serverjre:8 |
| 37 | + |
| 38 | + docker pull wlsldi-v2.docker.oraclecorp.com/weblogic-webtier-apache-12.2.1.3.0:latest |
| 39 | + docker tag wlsldi-v2.docker.oraclecorp.com/weblogic-webtier-apache-12.2.1.3.0:latest store/oracle/apache:12.2.1.3 |
| 40 | + |
| 41 | +} |
| 42 | + |
| 43 | + |
| 44 | +function create_image_pull_secret_jenkins { |
| 45 | + |
| 46 | + echo "Creating Secret" |
| 47 | + kubectl create secret docker-registry wlsldi-secret \ |
| 48 | + --docker-server=wlsldi-v2.docker.oraclecorp.com \ |
| 49 | + |
| 50 | + --docker-password=$docker_pass \ |
| 51 | + |
| 52 | + |
| 53 | + echo "Checking Secret" |
| 54 | + local SECRET="`kubectl get secret wlsldi-secret | grep wlsldi | wc | awk ' { print $1; }'`" |
| 55 | + if [ "$SECRET" != "1" ]; then |
| 56 | + echo 'secret wlsldi-secret was not created successfully' |
| 57 | + exit 1 |
| 58 | + fi |
| 59 | + |
| 60 | +} |
| 61 | + |
| 62 | +export SCRIPTPATH="$( cd "$(dirname "$0")" > /dev/null 2>&1 ; pwd -P )" |
| 63 | +export PROJECT_ROOT="$SCRIPTPATH/../../../.." |
| 64 | +export RESULT_ROOT=${RESULT_ROOT:-/scratch/$USER/wl_k8s_test_results} |
| 65 | +export PV_ROOT=${PV_ROOT:-$RESULT_ROOT} |
| 66 | +echo "RESULT_ROOT$RESULT_ROOT PV_ROOT$PV_ROOT" |
| 67 | +export BRANCH_NAME="${BRANCH_NAME:-$WERCKER_GIT_BRANCH}" |
| 68 | + |
| 69 | +if [ -z "$BRANCH_NAME" ]; then |
| 70 | + export BRANCH_NAME="`git branch | grep \* | cut -d ' ' -f2-`" |
| 71 | + if [ ! "$?" = "0" ] ; then |
| 72 | + echo "Error: Could not determine branch. Run script from within a git repo". |
| 73 | + exit 1 |
| 74 | + fi |
| 75 | +fi |
| 76 | +export IMAGE_TAG_OPERATOR=${IMAGE_TAG_OPERATOR:-`echo "test_${BRANCH_NAME}" | sed "s#/#_#g"`} |
| 77 | +export IMAGE_NAME_OPERATOR=${IMAGE_NAME_OPERATOR:-wlsldi-v2.docker.oraclecorp.com/weblogic-operator} |
| 78 | + |
| 79 | +cd $PROJECT_ROOT |
| 80 | +if [ $? -ne 0 ]; then |
| 81 | + echo "Couldn't change to $PROJECT_ROOT dir" |
| 82 | + exit 1 |
| 83 | +fi |
| 84 | + |
| 85 | +echo IMAGE_NAME_OPERATOR $IMAGE_NAME_OPERATOR IMAGE_TAG_OPERATOR $IMAGE_TAG_OPERATOR |
| 86 | + |
4 | 87 | if [ "$WERCKER" = "true" ]; then
|
5 | 88 |
|
6 | 89 | echo "Test Suite is running locally on Wercker and k8s is running on remote nodes."
|
@@ -37,36 +120,49 @@ if [ "$WERCKER" = "true" ]; then
|
37 | 120 | echo "secret $IMAGE_PULL_SECRET_OPERATOR was not created successfully"
|
38 | 121 | exit 1
|
39 | 122 | fi
|
| 123 | + |
| 124 | +elif [ "$JENKINS" = "true" ]; then |
| 125 | + |
| 126 | + echo "Test Suite is running on Jenkins and k8s is running locally on the same node." |
| 127 | + |
| 128 | + # External customizable env vars unique to Jenkins: |
| 129 | + |
| 130 | + export docker_pass=${docker_pass:?} |
| 131 | + export M2_HOME=${M2_HOME:?} |
| 132 | + export K8S_VERSION=${K8S_VERSION} |
| 133 | + |
| 134 | + clean_jenkins |
| 135 | + |
| 136 | + setup_jenkins |
| 137 | + |
| 138 | + create_image_pull_secret_jenkins |
| 139 | + |
| 140 | + /usr/local/packages/aime/ias/run_as_root "mkdir -p $PV_ROOT" |
| 141 | + /usr/local/packages/aime/ias/run_as_root "mkdir -p $RESULT_ROOT" |
| 142 | + |
| 143 | + # 777 is needed because this script, k8s pods, and/or jobs may need access. |
| 144 | + |
| 145 | + /usr/local/packages/aime/ias/run_as_root "mkdir -p $RESULT_ROOT/acceptance_test_tmp" |
| 146 | + /usr/local/packages/aime/ias/run_as_root "chmod 777 $RESULT_ROOT/acceptance_test_tmp" |
| 147 | + |
| 148 | + /usr/local/packages/aime/ias/run_as_root "mkdir -p $RESULT_ROOT/acceptance_test_tmp_archive" |
| 149 | + /usr/local/packages/aime/ias/run_as_root "chmod 777 $RESULT_ROOT/acceptance_test_tmp_archive" |
| 150 | + |
| 151 | + /usr/local/packages/aime/ias/run_as_root "mkdir -p $PV_ROOT/acceptance_test_pv" |
| 152 | + /usr/local/packages/aime/ias/run_as_root "chmod 777 $PV_ROOT/acceptance_test_pv" |
| 153 | + |
| 154 | + /usr/local/packages/aime/ias/run_as_root "mkdir -p $PV_ROOT/acceptance_test_pv_archive" |
| 155 | + /usr/local/packages/aime/ias/run_as_root "chmod 777 $PV_ROOT/acceptance_test_pv_archive" |
| 156 | + |
| 157 | + |
40 | 158 |
|
41 | 159 | else
|
42 |
| - docker pull wlsldi-v2.docker.oraclecorp.com/store-weblogic-12.2.1.3:latest |
43 |
| - docker tag wlsldi-v2.docker.oraclecorp.com/store-weblogic-12.2.1.3:latest store/oracle/weblogic:12.2.1.3 |
| 160 | + pull_tag_images |
44 | 161 |
|
45 |
| - docker pull wlsldi-v2.docker.oraclecorp.com/store-serverjre-8:latest |
46 |
| - docker tag wlsldi-v2.docker.oraclecorp.com/store-serverjre-8:latest store/oracle/serverjre:8 |
47 |
| - |
48 | 162 | #docker rmi -f $(docker images -q -f dangling=true)
|
49 | 163 | docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi -f
|
50 | 164 |
|
51 |
| - if [ -z "$BRANCH_NAME" ]; then |
52 |
| - export BRANCH_NAME="`git branch | grep \* | cut -d ' ' -f2-`" |
53 |
| - if [ ! "$?" = "0" ] ; then |
54 |
| - echo "Error: Could not determine branch. Run script from within a git repo". |
55 |
| - exit 1 |
56 |
| - fi |
57 |
| - fi |
58 |
| - export IMAGE_TAG_OPERATOR=${IMAGE_TAG_OPERATOR:-`echo "test_${BRANCH_NAME}" | sed "s#/#_#g"`} |
59 |
| - export IMAGE_NAME_OPERATOR=${IMAGE_NAME_OPERATOR:-wlsldi-v2.docker.oraclecorp.com/weblogic-operator} |
60 |
| - |
61 |
| - export SCRIPTPATH="$( cd "$(dirname "$0")" > /dev/null 2>&1 ; pwd -P )" |
62 |
| - export PROJECT_ROOT="$SCRIPTPATH/../../../.." |
63 |
| - cd $PROJECT_ROOT |
64 |
| - if [ $? -ne 0 ]; then |
65 |
| - echo "Couldn't change to $PROJECT_ROOT dir" |
66 |
| - exit 1 |
67 |
| - fi |
68 | 165 |
|
69 |
| - echo IMAGE_NAME_OPERATOR $IMAGE_NAME_OPERATOR IMAGE_TAG_OPERATOR $IMAGE_TAG_OPERATOR |
70 | 166 | docker build -t "${IMAGE_NAME_OPERATOR}:${IMAGE_TAG_OPERATOR}" --no-cache=true .
|
71 | 167 |
|
72 | 168 | fi
|
|
0 commit comments