build.sh 913 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env bash
  2. set -e
  3. help_msg(){
  4. echo "Usage: $0 <main_path> <binary_name>"
  5. }
  6. if [[ "$1" == "-h" || "$1" == "--help" ]] ;then
  7. help_msg
  8. exit 1
  9. fi
  10. if [[ $# != 2 ]];then
  11. echo "Parameter incorrect."
  12. help_msg
  13. exit 1
  14. fi
  15. # 主函数的位置
  16. RUN_PATH="$1"
  17. # 输出二进制文件名称
  18. OUT_PATH="$2"
  19. GO=`which go`
  20. OLDGO111MODULE="$GO111MODULE"
  21. OLDGOPROXY="$GOPROXY"
  22. OLDGOPRIVATE="$GOPRIVATE"
  23. export GO111MODULE=on
  24. export GOPROXY=https://goproxy.cn
  25. export GOPRIVATE="*gitea*"
  26. echo "${GO} build -o ${OUT_PATH} -race -work -v -ldflags "-s" -gcflags "-N -l" ${RUN_PATH}"
  27. ${GO} build -o ${OUT_PATH} -race -work -v -ldflags "-s" -gcflags "-N -l" ${RUN_PATH}
  28. # reset env
  29. export GO111MODULE="$OLDGO111MODULE"
  30. export GOPROXY="$OLDGOPROXY"
  31. export GOPRIVATE="$OLDGOPRIVATE"
  32. # 添加可执行权限
  33. chmod +x "${OUT_PATH}"
  34. echo "build ${RUN_PATH} success, out binary file path: ${OUT_PATH}"