buildx 979 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. CYAN='\E[1;36m'
  3. YELLOW='\E[1;33m'
  4. BLUE='\E[1;34m'
  5. GREEN='\E[1;32m'
  6. RESET='\E[0m'
  7. echo -e "${BLUE}❯ ${CYAN}Building docker multiarch: ${YELLOW}${*}${RESET}"
  8. DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  9. cd "${DIR}/.." || exit 1
  10. # determine commit if not already set
  11. if [ "$BUILD_COMMIT" == "" ]; then
  12. BUILD_COMMIT=$(git log -n 1 --format=%h)
  13. fi
  14. # Buildx Builder
  15. docker buildx create --name "${BUILDX_NAME:-npm}" || echo
  16. docker buildx use "${BUILDX_NAME:-npm}"
  17. docker buildx build \
  18. --build-arg BUILD_VERSION="${BUILD_VERSION:-dev}" \
  19. --build-arg BUILD_COMMIT="${BUILD_COMMIT:-notset}" \
  20. --build-arg BUILD_DATE="$(date '+%Y-%m-%d %T %Z')" \
  21. --build-arg GOPROXY="${GOPROXY:-}" \
  22. --build-arg GOPRIVATE="${GOPRIVATE:-}" \
  23. --platform linux/amd64,linux/arm64,linux/arm/7 \
  24. --progress plain \
  25. --pull \
  26. -f docker/Dockerfile \
  27. $@ \
  28. .
  29. rc=$?
  30. docker buildx rm "${BUILDX_NAME:-npm}"
  31. echo -e "${BLUE}❯ ${GREEN}Multiarch build Complete${RESET}"
  32. exit $rc