build.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. current_path=`pwd`
  3. case "`uname`" in
  4. Darwin)
  5. bin_abs_path=`cd $(dirname $0); pwd`
  6. ;;
  7. Linux)
  8. bin_abs_path=$(readlink -f $(dirname $0))
  9. ;;
  10. *)
  11. bin_abs_path=`cd $(dirname $0); pwd`
  12. ;;
  13. esac
  14. BASE=${bin_abs_path}
  15. if [ "$1" == "base" ] ; then
  16. docker build --no-cache -t canal/osbase $BASE/base
  17. elif [ "$1" == "base_v2" ] ; then
  18. docker build --no-cache -t canal/osbase $BASE/base -f $BASE/base/Dockerfile_v2
  19. elif [ "$1" == "base_admin" ] ; then
  20. docker build --no-cache -t canal/osadmin $BASE/base -f $BASE/base/Dockerfile_admin
  21. elif [ "$1" == "admin" ] ; then
  22. rm -rf $BASE/canal.*.tar.gz ;
  23. cd $BASE/../ && mvn clean package -Dmaven.test.skip -Denv=release && cd $current_path ;
  24. cp $BASE/../target/canal.admin-*.tar.gz $BASE/
  25. docker build --no-cache -t canal/canal-admin $BASE/ -f $BASE/Dockerfile_admin
  26. else
  27. rm -rf $BASE/canal.*.tar.gz ;
  28. cd $BASE/../ && mvn clean package -Dmaven.test.skip -Denv=release && cd $current_path ;
  29. cp $BASE/../target/canal.deployer-*.tar.gz $BASE/
  30. docker build --no-cache -t canal/canal-server $BASE/
  31. fi