| #!/bin/bash |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| set -e |
| |
| echo "------ dolphinscheduler start - build -------" |
| printenv |
| |
| if [ -z "${VERSION}" ] |
| then |
| echo "set default environment variable [VERSION]" |
| export VERSION=$(cat $(pwd)/pom.xml | grep '<version>' -m 1 | awk '{print $1}' | sed 's/<version>//' | sed 's/<\/version>//') |
| fi |
| |
| if [ "${DOCKER_REPO}x" = "x" ] |
| then |
| echo "set default environment variable [DOCKER_REPO]" |
| export DOCKER_REPO='apache/dolphinscheduler' |
| fi |
| |
| echo "Version: $VERSION" |
| echo "Repo: $DOCKER_REPO" |
| |
| echo -e "Current Directory is $(pwd)\n" |
| |
| # maven package(Project Directory) |
| echo -e "mvn -B clean package -Prelease -Dmaven.test.skip=true -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120" |
| mvn -B clean package -Prelease -Dmaven.test.skip=true -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 |
| |
| # mv dolphinscheduler-bin.tar.gz file to docker/build directory |
| echo -e "mv $(pwd)/dolphinscheduler-dist/target/apache-dolphinscheduler-${VERSION}-bin.tar.gz $(pwd)/docker/build/\n" |
| mv $(pwd)/dolphinscheduler-dist/target/apache-dolphinscheduler-${VERSION}-bin.tar.gz $(pwd)/docker/build/ |
| |
| # docker build |
| BUILD_COMMAND="docker build --build-arg VERSION=${VERSION} -t $DOCKER_REPO:${VERSION} $(pwd)/docker/build/" |
| echo -e "$BUILD_COMMAND\n" |
| if (docker info 2> /dev/null | grep -i "ERROR"); then |
| sudo $BUILD_COMMAND |
| else |
| $BUILD_COMMAND |
| fi |
| |
| echo "------ dolphinscheduler end - build -------" |