12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #!/bin/bash
- # Warning: this script has only been tested on macOS Sierra. There's a good chance
- # it won't work on other operating systems. If you get it working on another OS,
- # please send a pull request with any changes required. Thanks!
- set -e
-
- ### CloudFoundry CLI utilities
- CLOUD_DOMAIN=${DOMAIN:-run.pivotal.io}
- CLOUD_TARGET=api.${DOMAIN}
-
- function login(){
- cf api | grep ${CLOUD_TARGET} || cf api ${CLOUD_TARGET} --skip-ssl-validation
- cf apps | grep OK || cf login
- }
-
- function app_domain(){
- D=`cf apps | grep $1 | tr -s ' ' | cut -d' ' -f 6 | cut -d, -f1`
- echo $D
- }
-
- function deploy_service(){
- N=$1
- D=`app_domain $N`
- JSON='{"uri":"http://'$D'"}'
- cf create-user-provided-service $N -p $JSON
- }
-
- ### Installation
-
- cd `dirname $0`
- r=`pwd`
- echo $r
-
- ## Reset
- cf d -f ionic-server
-
- cf a
-
- # Stormpath
- stormpathApiKeyId=`cat ~/.stormpath/apiKey.properties | grep apiKey.id | cut -f3 -d\ `
- stormpathApiKeySecret=`cat ~/.stormpath/apiKey.properties | grep apiKey.secret | cut -f3 -d\ `
-
- # Deploy the server
- cd $r/server
- mvn clean package
- cf push -p target/*jar ionic-server --no-start --random-route
- cf set-env ionic-server STORMPATH_API_KEY_ID $stormpathApiKeyId
- cf set-env ionic-server STORMPATH_API_KEY_SECRET $stormpathApiKeySecret
- cf set-env ionic-server FORCE_HTTPS true
- cf start ionic-server
-
- # Get the URL for the server
- serverUri=https://`app_domain pwa-server`
-
- # Deploy the client
- cd $r/client
- npm run clean
- # replace the server URL in the client
- sed -i -e "s|http://localhost:8080|$serverUri|g" $r/client/src/app/app.module.ts
- npm install && ionic build ios
-
- # cleanup changed files
- git checkout $r/client
- rm $r/client/src/app/app.module.ts-e
-
- # deploy client to phone
- ionic run ios
|