builder.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/usr/bin/env bash
  2. set -eo pipefail
  3. source ./build/util.sh
  4. # Absolute path to the toplevel milvus directory.
  5. toplevel=$(dirname "$(cd "$(dirname "${0}")"; pwd)")
  6. if [[ "$IS_NETWORK_MODE_HOST" == "true" ]]; then
  7. sed -i '/builder:/,/^\s*$/s/image: \${IMAGE_REPO}\/milvus-env:\${OS_NAME}-\${DATE_VERSION}/&\n network_mode: "host"/' $toplevel/docker-compose.yml
  8. fi
  9. if [[ -f "$toplevel/.env" ]]; then
  10. set -a # automatically export all variables from .env
  11. source $toplevel/.env
  12. set +a # stop automatically exporting
  13. fi
  14. pushd "${toplevel}"
  15. if [[ "${1-}" == "pull" ]]; then
  16. $DOCKER_COMPOSE_COMMAND pull builder
  17. exit 0
  18. fi
  19. if [[ "${1-}" == "down" ]]; then
  20. $DOCKER_COMPOSE_COMMAND down
  21. exit 0
  22. fi
  23. PLATFORM_ARCH="${PLATFORM_ARCH:-${IMAGE_ARCH}}"
  24. export IMAGE_ARCH=${PLATFORM_ARCH}
  25. mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-ccache"
  26. mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-go-mod"
  27. mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-vscode-extensions"
  28. mkdir -p "${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-conan"
  29. chmod -R 777 "${DOCKER_VOLUME_DIRECTORY:-.docker}"
  30. $DOCKER_COMPOSE_COMMAND pull builder
  31. if [[ "${CHECK_BUILDER:-}" == "1" ]]; then
  32. $DOCKER_COMPOSE_COMMAND build builder
  33. fi
  34. $DOCKER_COMPOSE_COMMAND run --no-deps --rm builder "$@"
  35. popd