build: use direct download link to get opensource dashboard

This commit is contained in:
Zaiming Shi 2021-05-27 09:16:05 +02:00 committed by Rory Z
parent 925aa55951
commit 1ab5909be3
1 changed files with 16 additions and 9 deletions

View File

@ -12,11 +12,14 @@ 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' DASHBOARD_REPO='emqx-enterprise-dashboard-frontend-src'
AUTH="Authorization: token $(cat scripts/git-token)" AUTH="Authorization: token $(cat scripts/git-token)"
# have to be resolved with auth and redirect
DIRECT_DOWNLOAD_URL=""
else else
VERSION="${EMQX_CE_DASHBOARD_VERSION}" VERSION="${EMQX_CE_DASHBOARD_VERSION}"
DASHBOARD_PATH='lib-ce/emqx_dashboard/priv' DASHBOARD_PATH='lib-ce/emqx_dashboard/priv'
DASHBOARD_REPO='emqx-dashboard-frontend' DASHBOARD_REPO='emqx-dashboard-frontend'
AUTH="" AUTH=""
DIRECT_DOWNLOAD_URL="https://github.com/emqx/${DASHBOARD_REPO}/releases/download/${VERSION}/emqx-dashboard.zip"
fi fi
case $(uname) in case $(uname) in
@ -32,7 +35,7 @@ if [ -d "$DASHBOARD_PATH/www" ] && [ "$(version)" = "$VERSION" ]; then
exit 0 exit 0
fi fi
get_assets(){ find_url() {
# Get the download URL of our desired asset # Get the download URL of our desired asset
release_url="https://api.github.com/repos/emqx/${DASHBOARD_REPO}/releases/tags/${VERSION}" release_url="https://api.github.com/repos/emqx/${DASHBOARD_REPO}/releases/tags/${VERSION}"
release_info="$(curl --silent --show-error --header "${AUTH}" --header "Accept: application/vnd.github.v3+json" "$release_url")" release_info="$(curl --silent --show-error --header "${AUTH}" --header "Accept: application/vnd.github.v3+json" "$release_url")"
@ -42,18 +45,22 @@ get_assets(){
exit 1 exit 1
fi fi
# Get GitHub's S3 redirect URL # Get GitHub's S3 redirect URL
redirect_url=$(curl --silent --show-error \ curl --silent --show-error \
--header "${AUTH}" \ --header "${AUTH}" \
--header "Accept: application/octet-stream" \ --header "Accept: application/octet-stream" \
--write-out "%{redirect_url}" \ --write-out "%{redirect_url}" \
"$download_url") "$download_url"
curl --silent --show-error \
--header "Accept: application/octet-stream" \
--output "${RELEASE_ASSET_FILE}" \
"$redirect_url"
} }
get_assets if [ -z "$DIRECT_DOWNLOAD_URL" ]; then
DIRECT_DOWNLOAD_URL="$(find_url)"
fi
curl -L --silent --show-error \
--header "Accept: application/octet-stream" \
--output "${RELEASE_ASSET_FILE}" \
"$DIRECT_DOWNLOAD_URL"
unzip -q "$RELEASE_ASSET_FILE" -d "$DASHBOARD_PATH" 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"