mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
35 lines
1.4 KiB
Bash
Executable File
35 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script deploys the Dashboard App and their Cloud Functions to Firebase.
|
|
# Before the script installs all dependencies and builds the dashboard app in production.
|
|
|
|
# Go to the project root directory
|
|
cd $(dirname ${0})/../..
|
|
|
|
# Paths to the dashboard and functions directories.
|
|
dashboardFolder=tools/dashboard
|
|
|
|
# Go to the dashboard folder because otherwise the Firebase CLI tries to deploy the wrong project.
|
|
cd ${dashboardFolder}
|
|
|
|
# Install node_modules for the dashboard and afterwards build the dashboard app in production.
|
|
(npm install; $(npm bin)/ng build --aot -prod) &
|
|
|
|
# Install node modules for dashboard functions. Firebase CLI needs to execute the functions
|
|
# to collect all function names before it can deploy them.
|
|
(cd functions; npm install) &
|
|
|
|
# The dashboard and function dependencies are installed concurrently. Also the dashboard app is
|
|
# build in production afterwards. Wait for all async tasks to finish before proceeding.
|
|
wait
|
|
|
|
if [ -z ${MATERIAL2_BOARD_FIREBASE_DEPLOY_KEY} ]; then
|
|
echo "Error: No access token for firebase specified." \
|
|
"Please set the environment variable 'MATERIAL2_DASHBOARD_ACCESS_TOKEN'."
|
|
exit 1
|
|
fi
|
|
|
|
# Deploy the dashboard to Firebase. Based on the current configuration hosting and functions
|
|
# will be deployed.
|
|
$(npm bin)/firebase deploy --token ${MATERIAL2_BOARD_FIREBASE_DEPLOY_KEY} --project material2-board
|