startup.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #! /bin/sh
  2. cd /usr/local/src/script || exit 1
  3. BASE_PATH='/usr/local/src/jenkins/workspace/tjxt-dev-build'
  4. PROJECT_NAME=""
  5. PROJECT_PATH=''
  6. CONTAINER_NAME=""
  7. JAVA_OPTS="-Xms300m -Xmx300m"
  8. PORT=8080
  9. DEBUG_PORT=0
  10. while getopts "c:n:d:p:o:a:" opt; do
  11. case $opt in
  12. c)
  13. CONTAINER_NAME=$OPTARG
  14. ;;
  15. n)
  16. PROJECT_NAME=$OPTARG
  17. ;;
  18. d)
  19. PROJECT_PATH=$OPTARG
  20. ;;
  21. p)
  22. PORT=$OPTARG
  23. ;;
  24. o)
  25. [ -n "$OPTARG" ] && JAVA_OPTS=$OPTARG
  26. ;;
  27. a)
  28. [ -n "$OPTARG" ] && DEBUG_PORT=$OPTARG
  29. ;;
  30. ?)
  31. echo "unkonw argument"
  32. exit 1
  33. ;;
  34. esac
  35. done
  36. if [ "$DEBUG_PORT" = "0" ]; then
  37. JAVA_OPTS=$JAVA_OPTS
  38. else
  39. JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
  40. fi
  41. IMAGE_NAME="${CONTAINER_NAME}:latest"
  42. echo "copy xx.jar from ${BASE_PATH}/${PROJECT_PATH}"
  43. rm -f app.jar
  44. cp ${BASE_PATH}/${PROJECT_PATH}/target/${PROJECT_NAME}.jar ./app.jar || exit 1
  45. echo "begin to build ${PROJECT_NAME} image !!"
  46. [ -n "`docker ps -a | grep ${CONTAINER_NAME}`" ] && docker rm -f ${CONTAINER_NAME}
  47. [ -n "`docker images | grep ${CONTAINER_NAME}`" ] && docker rmi ${IMAGE_NAME}
  48. docker build -t ${IMAGE_NAME} . || exit 1
  49. echo "${PROJECT_NAME} image build success,java_opts = $JAVA_OPTS !!^_^"
  50. echo "begin to create container ${CONTAINER_NAME},port: ${PORT} !!"
  51. if [ "$DEBUG_PORT" = "0" ]; then
  52. echo "run in normal mode"
  53. docker run -d --name ${CONTAINER_NAME} \
  54. -p "${PORT}:${PORT}" \
  55. -e JAVA_OPTS="${JAVA_OPTS}" \
  56. --memory 300m --memory-swap -1 \
  57. --network heima-net ${IMAGE_NAME} \
  58. || exit 1
  59. else
  60. echo "run in debug mode"
  61. docker run -d --name ${CONTAINER_NAME} \
  62. -p "${PORT}:${PORT}" \
  63. -p ${DEBUG_PORT}:5005 \
  64. -e JAVA_OPTS="${JAVA_OPTS}" \
  65. --network heima-net ${IMAGE_NAME} \
  66. || exit 1
  67. fi
  68. echo "container is running now !! ^_^"
  69. exit 0