build.sh 741 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. TAG="$(git rev-parse --short HEAD)"
  4. NAME="docker.dezendorf.net/code-server"
  5. YAML="../../dezendorf/homelab/k3s/codeserver/codeserver.yaml"
  6. PLATFORMS="${PLATFORMS:-linux/amd64,linux/arm64}"
  7. if ! docker buildx version >/dev/null 2>&1; then
  8. echo "docker buildx is required for multi-arch builds" >&2
  9. exit 1
  10. fi
  11. docker buildx build \
  12. --no-cache \
  13. --platform "${PLATFORMS}" \
  14. --tag "${NAME}:${TAG}" \
  15. --tag "${NAME}:latest" \
  16. --push \
  17. -f Dockerfile \
  18. .
  19. echo "Built and pushed multi-arch images:"
  20. echo " ${NAME}:${TAG}"
  21. echo " ${NAME}:latest"
  22. echo " platforms=${PLATFORMS}"
  23. sed -i -e "s#${NAME}:.*#${NAME}:${TAG}#g" "${YAML}"
  24. git add "${YAML}"
  25. git commit -m "releasing ${NAME}:${TAG}"