download 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. set -o errexit
  3. set -o xtrace
  4. [ -z "$1" ] && echo "Please specify the version to download (ex. 2.0.0)" && exit
  5. edition=${2:-community}
  6. if [[ "$edition" == "enterprise" ]]; then
  7. rm -rf src
  8. composer create-project --repository=https://repo.magento.com/ --ignore-platform-reqs magento/project-enterprise-edition="$1" src
  9. exit 0
  10. fi
  11. if [ ! -f ~/.docker-magento/magento2-"$1".tar.gz ]; then
  12. mkdir -p ~/.docker-magento
  13. (cd ~/.docker-magento && curl -fOL http://pubfiles.nexcess.net/magento/ce-packages/magento2-"$1".tar.gz || true)
  14. fi
  15. # Fallback download to hypernode if archive doesn't exist on Nexcess (smaller than 1MB)
  16. if ! tar -tzf ~/.docker-magento/magento2-"$1".tar.gz -O &>/dev/null; then
  17. (cd ~/.docker-magento && curl -o magento2-"$1".tar.gz -fOL https://www.magento.mirror.hypernode.com/releases/magento-"$1".tar.gz || true)
  18. fi
  19. # Final fallback. If no archive exists, let's use Composer!
  20. if ! tar -tzf ~/.docker-magento/magento2-"$1".tar.gz -O &>/dev/null; then
  21. echo "Archive not found, or not yet available due to new version release."
  22. echo "Attempting install with Composer..."
  23. rm -rf src
  24. composer create-project --repository=https://repo.magento.com/ --ignore-platform-reqs magento/project-community-edition="$1" src
  25. else
  26. echo "Extracting magento2-$1.tar.gz to ./src"
  27. mkdir -p src && tar xzf ~/.docker-magento/magento2-"$1".tar.gz -o -C src
  28. fi