very tasty changes indeed
authorChris Koeritz <fred@gruntose.com>
Thu, 9 Nov 2017 22:02:02 +0000 (17:02 -0500)
committerChris Koeritz <fred@gruntose.com>
Thu, 9 Nov 2017 22:02:02 +0000 (17:02 -0500)
these get the basics of the config files right.

scripts/site_avenger/avcoreup.sh
scripts/site_avenger/config/default-site_avenger.config [deleted file]
scripts/site_avenger/config/default.app [new file with mode: 0644]
scripts/site_avenger/config/mapsdemo.app [new file with mode: 0644]
scripts/site_avenger/config/winterportlibrary.config [deleted file]
scripts/site_avenger/powerup.sh
scripts/site_avenger/shared_site_mgr.sh
scripts/site_avenger/sitepush.sh
scripts/site_avenger/siteup.sh
scripts/site_avenger/standup.sh [new file with mode: 0644]
scripts/site_avenger/teardown.sh [new file with mode: 0644]

index 0aeae721aa245acbf276cf504a448edf27cddfa2..6462dea20f0faf3e2a8948a3adbe59ebb00fe3e0 100644 (file)
@@ -6,6 +6,7 @@
 # updates just the site avenger core portion of an app.
 
 export WORKDIR="$( \cd "$(\dirname "$0")" && \pwd )"  # obtain the script's working directory.
+
 source "$WORKDIR/shared_site_mgr.sh"
 
 ############################
diff --git a/scripts/site_avenger/config/default-site_avenger.config b/scripts/site_avenger/config/default-site_avenger.config
deleted file mode 100644 (file)
index 4b57eba..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# this config file provides the default values for the variables used in our site management scripts.
-
-# basic information...
-APPLICATION_DIR="$HOME/apps"
-DEFAULT_REPOSITORY_ROOT="git@github.com:kwentworth"
-CHECKOUT_DIR_NAME="avenger5"
-
-# most config files will only need to override things below this line.
-# they should include the basic configs using this code:
-#   source $WORKDIR/config/default-site_avenger.config
-######################################################################
-
-# deployment information...
-APPLICATION_NAME=mapsdemo
-
-# change this if the site is on the "real" internet.  otherwise, for any
-# sites that are served from the cakelampvm.com vm, the derived config
-# files can just repeat this code.  they *MUST* include it though, since
-# it needs to see their version of the APPLICATION_NAME variable.
-DOMAIN_NAME="${APPLICATION_NAME}.vm"
-
-
diff --git a/scripts/site_avenger/config/default.app b/scripts/site_avenger/config/default.app
new file mode 100644 (file)
index 0000000..4036883
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+# this config file provides the default values for the variables used in our site management scripts.
+
+####
+
+# basic information that is constant for all site avenger sites.
+
+APPLICATION_DIR="$HOME/apps"
+DEFAULT_REPOSITORY_ROOT="git@github.com:kwentworth"
+CHECKOUT_DIR_NAME="avenger5"
+
+####
+
+# config files for site avenger apps usually override nothing, since we
+# auto-construct the app name and domain.  but if they do need to override
+# anything, it will be below this point in the file.
+# the derived config file should include the basic configs like so:
+#
+#   source "$WORKDIR/config/default.app"
+
+####
+
+# deployment information for the application / site.
+
+APPLICATION_NAME="$(basename "$SITE_MANAGEMENT_CONFIG_FILE" .app)"
+
+echo app name was computed as $APPLICATION_NAME
+
+# change this if the site is on the "real" internet.
+DOMAIN_NAME="$(basename "$SITE_MANAGEMENT_CONFIG_FILE" .app).vm"
+
+echo domain name was computed as $DOMAIN_NAME
+
+####
+
diff --git a/scripts/site_avenger/config/mapsdemo.app b/scripts/site_avenger/config/mapsdemo.app
new file mode 100644 (file)
index 0000000..a2bca51
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# a special override for the mapsdemo site, which we want to put in as
+# a subdomain of the cakelampvm domain.
+
+source "$WORKDIR/config/default.app"
+
+DOMAIN_NAME="${APPLICATION_NAME}.cakelampvm.com"
+
+
diff --git a/scripts/site_avenger/config/winterportlibrary.config b/scripts/site_avenger/config/winterportlibrary.config
deleted file mode 100644 (file)
index 1365e42..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-source $WORKDIR/config/default-site_avenger.config
-
-APPLICATION_NAME=winterportlibrary
-DOMAIN_NAME="${APPLICATION_NAME}.vm"
-
-
index 60c277836d3e9be2d2fd2d7a172c384161dd6bf3..a72e06f19ec982ff5f86d57fbbb499283c2fd922 100644 (file)
@@ -5,8 +5,6 @@
 
 # This script "powers up" a cakephp site by running the database migrations,
 # cleaning out the ORM cache, and fixing file permissions.
-# Note that the mysql database must already exist and allow permissions to
-# the configured username/password in config/app.php.
 # This script is currently highly specific to site avenger.
 
 # General Info:
@@ -23,6 +21,7 @@
 # start with.  The concept of the theme comes from cakephp.
 
 export WORKDIR="$( \cd "$(\dirname "$0")" && \pwd )"  # obtain the script's working directory.
+
 source "$WORKDIR/shared_site_mgr.sh"
 
 ############################
index cef784e5f7b50fca582a8f7c63950f50d29c2c18..580b896d9a634a7b9f193d03e85e3b4edefbec27 100644 (file)
@@ -14,7 +14,7 @@ source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
 # get our configuration loaded.
 export SITE_MANAGEMENT_CONFIG_FILE
 if [ -z "$SITE_MANAGEMENT_CONFIG_FILE" ]; then
-  SITE_MANAGEMENT_CONFIG_FILE="$WORKDIR/config/default-site_avenger.config"
+  SITE_MANAGEMENT_CONFIG_FILE="$WORKDIR/config/default.app"
 fi
 source "$SITE_MANAGEMENT_CONFIG_FILE"
 test_or_die "loading site management configuration from: $SITE_MANAGEMENT_CONFIG_FILE"
index 22574e27005aec0e3083780aa564acf659815d25..b2a7de2dd5f69d96e8b1c945a70493b5fa0aaf5a 100644 (file)
@@ -6,6 +6,7 @@
 # checks the chosen site into the online git repository.
 
 export WORKDIR="$( \cd "$(\dirname "$0")" && \pwd )"  # obtain the script's working directory.
+
 source "$WORKDIR/shared_site_mgr.sh"
 
 ############################
index e0183dea10e2811c9702cc4d89137189c7f43bba..826d7d03370a408ba25b1b918adc4251a738d02c 100644 (file)
@@ -6,6 +6,7 @@
 # updates a site avenger app.
 
 export WORKDIR="$( \cd "$(\dirname "$0")" && \pwd )"  # obtain the script's working directory.
+
 source "$WORKDIR/shared_site_mgr.sh"
 
 ############################
diff --git a/scripts/site_avenger/standup.sh b/scripts/site_avenger/standup.sh
new file mode 100644 (file)
index 0000000..3bb327f
--- /dev/null
@@ -0,0 +1,86 @@
+#!/bin/bash
+
+# Author: Chris Koeritz
+
+# This is the full orchestrator for bringing up a web site using our site
+# management scripts.  So far, the scripts rely on at least php.  The support
+# is much more powerful if the site is based on cakephp and site avenger.
+
+export WORKDIR="$( \cd "$(\dirname "$0")" && \pwd )"  # obtain the script's working directory.
+
+source "$WORKDIR/shared_site_mgr.sh"
+
+############################
+
+function print_instructions()
+{
+  echo
+  echo "$(basename $0 .sh) {app name}"
+  echo
+  echo "
+app name: The app name parameter is mandatory.  The configuration file for
+this script will be derived from the app name (e.g. if the app name is MyApp,
+then the config file will be 'MyApp.config').  The config files are by
+convention stored in the 'config' directory.  The configuration file can be
+overridden by setting the SITE_MANAGEMENT_CONFIG_FILE environment variable."
+  exit 0
+}
+
+############################
+
+# main body of script.
+
+# check for parameters.
+app_dirname="$1"; shift
+repo_name="$1"; shift
+theme_name="$1"; shift
+
+if [ "$app_dirname" == "-help" -o "$app_dirname" == "--help" ]; then
+  print_instructions
+fi
+
+sep
+
+check_application_dir "$APPLICATION_DIR"
+
+# find proper webroot where the site will be initialized.
+if [ -z "$app_dirname" ]; then
+  # no dir was passed, so guess it.
+  find_app_folder "$APPLICATION_DIR"
+else
+  test_app_folder "$APPLICATION_DIR" "$app_dirname"
+fi
+
+# where we expect to find our checkout folder underneath.
+full_app_dir="$APPLICATION_DIR/$app_dirname"
+
+# use our default values for the repository and theme if they're not provided.
+if [ -z "$repo_name" ]; then
+  repo_name="$app_dirname"
+fi
+if [ -z "$theme_name" ]; then
+  theme_name="$(capitalize_first_char ${app_dirname})"
+fi
+
+echo "Repository: $repo_name"
+echo "Theme name: $theme_name"
+sep
+
+# this should set the site_store_path variable if everything goes well.
+update_repo "$full_app_dir" "$CHECKOUT_DIR_NAME" "$DEFAULT_REPOSITORY_ROOT" "$repo_name"
+test_or_die "Updating the repository storage directory"
+
+# update the site to load dependencies.
+sep
+composer_repuff "$site_store_path"
+test_or_die "Installing site dependencies with composer"
+
+# set up the symbolic links needed to achieve siteliness.
+sep
+
+create_site_links "$site_store_path" "$theme_name"
+
+sep
+
+echo "Finished powering up the site in '${app_dirname}'."
+
diff --git a/scripts/site_avenger/teardown.sh b/scripts/site_avenger/teardown.sh
new file mode 100644 (file)
index 0000000..c992c4f
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# not implemented yet.
+
+