#!/bin/sh set -e echo "############## start ##############" BUILD_DATE=`date +%Y-%m-%d:%H:%M:%S` CURR_DIR=`basename $PWD` if [[ ${CURR_DIR} != "docker" ]]; then echo "############## must exec in docker dir ##############" exit 2; fi cd ../ #SERVER_NAME=`awk '/[^<]+<\/name>/{gsub(/|<\/name>/,"",$1);print $1;exit;}' pom.xml` #SERVER_NAME=$(basename `pwd`) SERVER_NAME=${MODULE_PARMS} SERVER_JAR=$PWD/${MODULE_PARMS}/target/${SERVER_NAME}*.jar #if [ ! -n "ls ${SERVER_JAR} >/dev/null 2>&1" ]; then if [[ "`echo ${SERVER_JAR}`" != "${SERVER_JAR}" ]]; then echo exist ${SERVER_JAR} skip maven build. else mvn clean install -DskipTests fi cp ${SERVER_JAR} ./docker cd docker if [[ ${DOCKER_IMAGE_TAG} ]];then image_tag=${DOCKER_IMAGE_TAG} else echo "############## DOCKER_IMAGE_TAG is null ! ##############" # image_tag=$(git symbolic-ref --short -q HEAD) image_tag=`date "+%Y%m%d_%H%M%S"` fi echo "############## image_tag is: ${image_tag} ##############" base_url=docker.ehlxr.me docker_url=${base_url}/ehlxr/${SERVER_NAME}:${image_tag} docker build --build-arg SERVER_NAME=${SERVER_NAME} -f ./Dockerfile -t ${docker_url} . # get user pwd from environment echo "${DOCKER_REGISTRY_PWD}" | docker login --username ${DOCKER_REGISTRY_USER} --password-stdin ${base_url} docker push ${docker_url} rm ${SERVER_NAME}*.jar echo "############## build & push finish: ${BUILD_DATE} ##############" err=$? if [[ "$err" -ne "0" ]]; then echo "############## build error ! ##############" exit 1 fi