Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ahoyapi: v1
- version: 0.0.0
- commands:
- setup:
- usage: Setups sites settings
- cmd: |
- # Create an array with the arguments that were input.
- ARGS=( {{args}} )
- rm -f assets/sites/default/settings.docker.php
- rm -f assets/sites/default/settings.local.php
- ahoy cmd-proxy bash ./nucivic-ahoy/.scripts/drush.alias.sh
- if [ ! -f assets/sites/default/settings.php ] && [ -f assets/sites/default/default.settings.php ]; then
- cp assets/sites/default/default.settings.php assets/sites/default/settings.php
- fi
- if [ "$CI" = "true" ]; then
- # Drush alias points to /var/www/docroot so we need this here.
- sudo ln -sf /home/ubuntu/$CIRCLE_PROJECT_REPONAME/docroot /var/www/docroot
- fi
- if [ "$AHOY_CMD_PROXY" == "DOCKER" ]; then
- cp assets/sites/default/settings.docker.demo.php assets/sites/default/settings.docker.php
- ahoy docker up
- elif [ "${#ARGS[@]}" -ne 0 ]; then
- for i in "${ARGS[@]}"; do
- case "$i" in
- --db-user=*)
- DB_USER="${i#*=}"
- ;;
- --db-pass=*)
- DB_PASS="${i#*=}"
- ;;
- --db-host=*)
- DB_HOST="${i#*=}"
- ;;
- --db-port=*)
- DB_PORT="${i#*=}"
- ;;
- --db-name=*)
- DB_NAME="${i#*=}"
- ;;
- *)
- echo "not recognized flag or param ${i#*=}"
- exit 1
- ;;
- esac
- done
- sed \
- -e s/#DB_HOST/$DB_HOST/g \
- -e s/#DB_USER/$DB_USER/g \
- -e s/#DB_PASS/$DB_PASS/g \
- -e s/#DB_PORT/$DB_PORT/g \
- -e s/#DB_NAME/$DB_NAME/g \
- assets/sites/default/settings.local.demo.php > assets/sites/default/settings.local.php
- echo "A settings.local.php file was created at assets/sites/default/settings.local.php with your db credentials."
- else
- cp assets/sites/default/settings.local.demo.php assets/sites/default/settings.local.php
- echo "A settings.local.php file was created at assets/sites/default/settings.local.php, but you need you add your own db credentials."
- fi
- reinstall:
- usage: Reinstall the site from scratch (dkan + custom_config + environment).
- cmd: |
- ahoy dkan reinstall
- ahoy drush -y en custom_config environment devinci
- ahoy drush env-switch --force local
- mysql-dump-sanitized:
- usage: Creates a dump of a sanitized and pruned version of the site db
- cmd: |
- ahoy cmd-proxy exec mkdir -p backups
- ahoy drush sql-dump > backups/unsanitized.sql
- ahoy drush sql-cli < nucivic-ahoy/.mysqlscripts/sanitize.sql | grep -v concat > backups/truncate.sql
- ahoy drush sql-cli < backups/truncate.sql
- rm backups/truncate.sql
- ahoy drush sql-dump > backups/sanitized.sql
- ahoy drush -y sql-drop
- ahoy drush sql-cli < backups/unsanitized.sql
- mysql-prune:
- usage: Prunes datasets and resources from site database
- hide: true
- cmd: |
- ahoy drush php-script nucivic-ahoy/.scripts/prune-database.php
- name:
- usage: Utility function to determine the site name.
- cmd: |
- # TODO: use config/config.yml instead
- if [ -s assets/drush/aliases.local.php ]; then
- ahoy cmd-proxy php -f nucivic-ahoy/.scripts/site-name.php
- else
- echo "Site name not set. Type the alias followed by [ENTER]:"
- read ALIAS
- cat assets/drush/datastarter.aliases.drushrc.php | sed "s/data_starter/$ALIAS/g" > assets/drush/aliases.local.php
- fi
- hide: true
- asset-download:
- usage: Download database and files assets from S3 to local backups folder.
- cmd: |
- ahoy site asset-download-db
- ahoy site asset-download-files
- hide: true
- asset-download-db:
- usage: Download DB backup asset from S3 to local backups folder.
- cmd: |
- ahoy site asset-download-dbs sanitized
- asset-download-db-unpruned:
- usage: Download unpruned DB backup asset from S3 to local backups folder.
- cmd: |
- ahoy site asset-download-dbs unpruned
- asset-download-dbs:
- hide: true
- usage: Download DB backup asset from S3 to local backups folder.
- cmd: |
- ahoy cmd-proxy exec mkdir -p backups
- site=$(ahoy site name)
- db={{args}}
- asset=""
- echo "ASSET NOT SETUP. SEE DOCUMENTATION FOR DETAILS"
- exit(1)
- LC_TIME=en_US.UTF-8 perl nucivic-ahoy/.scripts/s3curl.pl --id local $asset > backups/$db.sql.gz
- echo ""
- echo "Unpacking the $db database."
- echo ""
- ahoy cmd-proxy gunzip backups/$db.sql.gz -f
- cp -f backups/$db.sql backups/last_install.sql
- asset-download-files:
- usage: Download files backup asset from S3 to local backups folder.
- cmd: |
- ahoy cmd-proxy exec mkdir -p backups
- site=$(ahoy site name)
- asset=""
- echo "ASSET NOT SETUP. SEE DOCUMENTATION FOR DETAILS"
- exit(1)
- LC_TIME=en_US.UTF-8 perl nucivic-ahoy/.scripts/s3curl.pl --id local $asset > backups/$site.prod.files.tar.gz
- echo ""
- echo "Unpacking the files asset."
- echo ""
- tar xvzf backups/$site.prod.files.tar.gz
- hide: true
- asset-upload:
- usage: Upload database and files assets to dedicated S3 bucket.
- cmd: |
- ahoy site asset-db-upload
- ahoy site asset-files-upload
- hide: true
- s3-setup:
- usage: Utility script for adding aws s3curl credentials.
- cmd: bash nucivic-ahoy/.scripts/s3-setup.sh
- hide: true
- self-update:
- usage: Utility function for self updating this repo.
- cmd: |
- ahoy dkan self-update
- rm -fR nucivic-ahoy
- git clone 'git@github.com:nucivic/nucivic-ahoy' --depth=1
- rm -rf nucivic-ahoy/.git
- rm -rf nucivic-ahoy/.gitignore
- hide: true
- files-link:
- usage: Links files.
- cmd: ahoy cmd-proxy ln -s ../../../$(ahoy site name).prod.files/files docroot/sites/default/files
- hide: true
- files-fix-permissions:
- usage: Fix the permissiosn for the files.
- cmd: |
- ahoy cmd-proxy bash ./nucivic-ahoy/.scripts/site.files-fix-permissions.sh
- hide: true
- test:
- usage: Run the tests for site
- cmd: |
- # Store the arguments as a bash array.
- ARGS=( "{{args}}" )
- BEHAT_FOLDER=tests
- ALT_CONFIG_FILE="behat.local.yml"
- # Crazy bash to get rid of the carriage return. (docker issue)
- BEHAT_ENV=$(echo $(ahoy cmd-proxy printenv HOSTNAME) | tr -d "\r" )
- SKIP_COMPOSER_FLAG="--skip-composer"
- if [[ ! "${ARGS[@]}" == *"$SKIP_COMPOSER_FLAG"* ]]; then
- echo "Installing behat dependencies.."
- ahoy cmd-proxy "cd $BEHAT_FOLDER && composer install --prefer-source --no-interaction"
- else
- echo "Skipping composer install.."
- ARGS=( "${ARGS[@]/$SKIP_COMPOSER_FLAG}" )
- fi
- if [ -f "$BEHAT_FOLDER/$ALT_CONFIG_FILE" ]; then
- echo "Using $BEHAT_FOLDER/$ALT_CONFIG_FILE .."
- CONFIG=" -c $ALT_CONFIG_FILE"
- elif [ "$BEHAT_ENV" == "cli" ]; then
- echo "Using behat.docker.yml config .."
- CONFIG=" -c behat.docker.yml"
- elif [ "$CI" == "true" ]; then
- echo "Using behat.circleci.yml config .."
- CONFIG=" -c behat.circleci.yml"
- else
- echo "$BEHAT_ENV"
- echo "Using behat.yml .."
- fi
- ahoy cmd-proxy "cd $BEHAT_FOLDER && bin/behat $CONFIG ${ARGS[@]}"
- truncate-watchdog:
- usage: Truncates the watchdog table.
- hide: true
- cmd: |
- echo "truncate watchdog" | ahoy dkan sqlc;
- fail-when-bad-disable:
- usage: Kill the build if modules were incorrectly disabled.
- hide: true
- cmd: |
- error=`echo "select message, variables from watchdog where type = 'custom_config_disable'" | ahoy dkan sqlc`
- if [ "$error" ];
- then
- echo $error
- exit 1
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement