| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #! /bin/sh
- cd /usr/local/src/script || exit 1
- BASE_PATH='/usr/local/src/jenkins/workspace/tjxt-dev-build'
- PROJECT_NAME=""
- PROJECT_PATH=''
- CONTAINER_NAME=""
- JAVA_OPTS="-Xms300m -Xmx300m"
- PORT=8080
- DEBUG_PORT=0
- while getopts "c:n:d:p:o:a:" opt; do
- case $opt in
- c)
- CONTAINER_NAME=$OPTARG
- ;;
- n)
- PROJECT_NAME=$OPTARG
- ;;
- d)
- PROJECT_PATH=$OPTARG
- ;;
- p)
- PORT=$OPTARG
- ;;
- o)
- [ -n "$OPTARG" ] && JAVA_OPTS=$OPTARG
- ;;
- a)
- [ -n "$OPTARG" ] && DEBUG_PORT=$OPTARG
- ;;
- ?)
- echo "unkonw argument"
- exit 1
- ;;
- esac
- done
- if [ "$DEBUG_PORT" = "0" ]; then
- JAVA_OPTS=$JAVA_OPTS
- else
- JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
- fi
- IMAGE_NAME="${CONTAINER_NAME}:latest"
- echo "copy xx.jar from ${BASE_PATH}/${PROJECT_PATH}"
- rm -f app.jar
- cp ${BASE_PATH}/${PROJECT_PATH}/target/${PROJECT_NAME}.jar ./app.jar || exit 1
- echo "begin to build ${PROJECT_NAME} image !!"
- [ -n "`docker ps -a | grep ${CONTAINER_NAME}`" ] && docker rm -f ${CONTAINER_NAME}
- [ -n "`docker images | grep ${CONTAINER_NAME}`" ] && docker rmi ${IMAGE_NAME}
- docker build -t ${IMAGE_NAME} . || exit 1
- echo "${PROJECT_NAME} image build success,java_opts = $JAVA_OPTS !!^_^"
- echo "begin to create container ${CONTAINER_NAME},port: ${PORT} !!"
- if [ "$DEBUG_PORT" = "0" ]; then
- echo "run in normal mode"
- docker run -d --name ${CONTAINER_NAME} \
- -p "${PORT}:${PORT}" \
- -e JAVA_OPTS="${JAVA_OPTS}" \
- --memory 300m --memory-swap -1 \
- --network heima-net ${IMAGE_NAME} \
- || exit 1
- else
- echo "run in debug mode"
- docker run -d --name ${CONTAINER_NAME} \
- -p "${PORT}:${PORT}" \
- -p ${DEBUG_PORT}:5005 \
- -e JAVA_OPTS="${JAVA_OPTS}" \
- --network heima-net ${IMAGE_NAME} \
- || exit 1
- fi
- echo "container is running now !! ^_^"
- exit 0
|