mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
333ec80750
* Currently the screenshot tool application is not built in the deploy script. This causes Firebase to throw an error because the target directory does not exist.
42 lines
1.6 KiB
Bash
Executable File
42 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# The script should immediately exit if any command in the script fails.
|
|
set -e
|
|
|
|
# This script deploys the Screenshot Tool and their Cloud Functions to Firebase.
|
|
# Before deploying, the script installs all dependencies of the functions and builds the app.
|
|
|
|
# Go to the project root directory
|
|
cd $(dirname ${0})/../..
|
|
|
|
if [ -z ${MATERIAL2_SCREENSHOT_FIREBASE_DEPLOY_TOKEN} ]; then
|
|
echo "Error: No access token for firebase specified." \
|
|
"Please set the environment variable 'MATERIAL2_SCREENSHOT_FIREBASE_DEPLOY_TOKEN'."
|
|
exit 1
|
|
fi
|
|
|
|
# Path to the screenshot tool in the project.
|
|
screenshotToolFolder="tools/screenshot-test"
|
|
|
|
# Path to the firebase binary of the root package.json
|
|
firebaseBin=$(npm bin)/firebase
|
|
|
|
# Go to the screenshot-test folder because otherwise Firebase tries to deploy the wrong project.
|
|
cd ${screenshotToolFolder}
|
|
|
|
# Install node_modules for the application and afterwards build the application in production.
|
|
(npm install; $(npm bin)/ng build --aot -prod) &
|
|
|
|
# Install node modules for screenshot-tool functions. Firebase CLI needs to execute the functions
|
|
# to collect all function names before it can deploy them.
|
|
(cd functions; npm install) &
|
|
|
|
# The screenshot application is being built asynchronously. Also the dependencies for the
|
|
# Cloud Functions are built asynchronously. This means that the script needs to wait for all
|
|
# async tasks to finish before proceeding.
|
|
wait
|
|
|
|
# Deploy the screenshot application and their functions to Firebase
|
|
${firebaseBin} deploy --token ${MATERIAL2_SCREENSHOT_FIREBASE_DEPLOY_TOKEN} --non-interactive \
|
|
--project material2-screenshots
|