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