|
@@ -5,18 +5,17 @@ set -euo pipefail
|
|
|
# ensure dir
|
|
# ensure dir
|
|
|
cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
|
|
cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
|
|
|
|
|
|
|
|
-if [[ "$1" == https://* ]]; then
|
|
|
|
|
- VERSION='*' # alwyas download
|
|
|
|
|
- DOWNLOAD_URL="$1"
|
|
|
|
|
-else
|
|
|
|
|
- VERSION="$1"
|
|
|
|
|
- DOWNLOAD_URL="https://github.com/emqx/emqx-dashboard-frontend/releases/download/${VERSION}/emqx-dashboard.zip"
|
|
|
|
|
-fi
|
|
|
|
|
|
|
+VERSION="$1"
|
|
|
|
|
+RELEASE_ASSET_FILE="emqx-dashboard.zip"
|
|
|
|
|
|
|
|
if [ -f 'EMQX_ENTERPRISE' ]; then
|
|
if [ -f 'EMQX_ENTERPRISE' ]; then
|
|
|
DASHBOARD_PATH='lib-ee/emqx_dashboard/priv'
|
|
DASHBOARD_PATH='lib-ee/emqx_dashboard/priv'
|
|
|
|
|
+ DASHBOARD_REPO='emqx-enterprise-dashboard-frontend-src'
|
|
|
|
|
+ AUTH="Authorization: token $(cat scripts/git-token)"
|
|
|
else
|
|
else
|
|
|
DASHBOARD_PATH='lib-ce/emqx_dashboard/priv'
|
|
DASHBOARD_PATH='lib-ce/emqx_dashboard/priv'
|
|
|
|
|
+ DASHBOARD_REPO='emqx-dashboard-frontend'
|
|
|
|
|
+ AUTH=""
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
case $(uname) in
|
|
case $(uname) in
|
|
@@ -32,8 +31,27 @@ if [ -d "$DASHBOARD_PATH/www" ] && [ "$(version)" = "$VERSION" ]; then
|
|
|
exit 0
|
|
exit 0
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
-curl -f -L "${DOWNLOAD_URL}" -o ./emqx-dashboard.zip
|
|
|
|
|
-unzip -q ./emqx-dashboard.zip -d "$DASHBOARD_PATH"
|
|
|
|
|
|
|
+get_assets(){
|
|
|
|
|
+ # Get the download URL of our desired asset
|
|
|
|
|
+ download_url="$(curl --silent --show-error \
|
|
|
|
|
+ --header "${AUTH}" \
|
|
|
|
|
+ --header "Accept: application/vnd.github.v3+json" \
|
|
|
|
|
+ "https://api.github.com/repos/emqx/${DASHBOARD_REPO}/releases/tags/${VERSION}" \
|
|
|
|
|
+ | jq --raw-output ".assets[] | select(.name==\"${RELEASE_ASSET_FILE}\").url")"
|
|
|
|
|
+ # Get GitHub's S3 redirect URL
|
|
|
|
|
+ redirect_url=$(curl --silent --show-error \
|
|
|
|
|
+ --header "${AUTH}" \
|
|
|
|
|
+ --header "Accept: application/octet-stream" \
|
|
|
|
|
+ --write-out "%{redirect_url}" \
|
|
|
|
|
+ "$download_url")
|
|
|
|
|
+ curl --silent --show-error \
|
|
|
|
|
+ --header "Accept: application/octet-stream" \
|
|
|
|
|
+ --output "${RELEASE_ASSET_FILE}" \
|
|
|
|
|
+ "$redirect_url"
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+get_assets
|
|
|
|
|
+unzip -q "$RELEASE_ASSET_FILE" -d "$DASHBOARD_PATH"
|
|
|
rm -rf "$DASHBOARD_PATH/www"
|
|
rm -rf "$DASHBOARD_PATH/www"
|
|
|
mv "$DASHBOARD_PATH/dist" "$DASHBOARD_PATH/www"
|
|
mv "$DASHBOARD_PATH/dist" "$DASHBOARD_PATH/www"
|
|
|
-rm -rf emqx-dashboard.zip
|
|
|
|
|
|
|
+rm -rf "$RELEASE_ASSET_FILE"
|