12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/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 "./mvnw -B clean package -Prelease -Dmaven.test.skip=true -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120"
- ./mvnw -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 -------"
|