Ver código fonte

add deployment script

master
duncan.parkes 17 anos atrás
pai
commit
cb30072139
1 arquivos alterados com 84 adições e 0 exclusões
  1. +84
    -0
      deployment_script

+ 84
- 0
deployment_script Ver arquivo

@@ -0,0 +1,84 @@
#!/bin/bash

PLANNING_ROOT="/data/vhost/www.planningalerts.com/"
PLANNING_BACKUPS="$PLANNING_ROOT/backups/"
DEPLOYMENT_LOG_DIRECTORY="$PLANNING_ROOT/logs/"
DEPLOYMENT_LOG="$DEPLOYMENT_LOG_DIRECTORY/deployment_log"

BACKUP_DIRECTORY_NAME="planningalerts_backup_`date +%F_%Hh%Mm%Ss`"

# This will be the name of the new backup directory
BACKUP_DIRECTORY=$PLANNING_BACKUPS$BACKUP_DIRECTORY_NAME

# Check to see if the PLANNING_ROOT directory exists and is writable
if ! [ -w $PLANNING_ROOT ];
then
echo "Planning root directory: $PLANNING_ROOT doesn't exist, or isn't writable by this user";
exit 1
fi;

# Check that the PLANNING_BACKUPS directory exists and is writable
if ! [ -w $PLANNING_BACKUPS ];
then
echo "Planning backups directory: $PLANNING_BACKUPS doesn't exist, or isn't writable";
exit 2
fi;

# Check that the DEPLOYMENT_LOG exists and is writable
# FIXME - these checks could be better
if [ ! -w $DEPLOYMENT_LOG -a ! -w $DEPLOYMENT_LOG_DIRECTORY ];
then
echo "Deployment log: $DEPLOYMENT_LOG doesn't exist, or isn't writable";
exit 3
fi;

# Make a the directory to put the backup in
mkdir $BACKUP_DIRECTORY

# Move docs, cgi-bin and tools to the backups area
# Copy data to the backups area
# FIXME - which directories should probably be a variable
echo
echo "Backing up the current deployment to $BACKUP_DIRECTORY"
(cd $PLANNING_ROOT;
mv docs cgi-bin tools $BACKUP_DIRECTORY;
cp -R data $BACKUP_DIRECTORY;
);
echo "Done"
echo

# Copy the new versions of docs, cgi-bin and tools to PLANNING_ROOT
echo "Deploying the new versions of docs, cgi-bin, and tools"
cp -R docs cgi-bin tools $PLANNING_ROOT

# Copy the config files from $PLANNING_BACKUPS to $PLANNING_ROOT
# FIXME - we should have a variable for which files to do here

if [ -a $BACKUP_DIRECTORY/docs/include/config.php ];
then
echo "Copying back config.php";
cp $BACKUP_DIRECTORY/docs/include/config.php $PLANNING_ROOT/docs/include/;
else
echo "No config.php to put back";
fi;

# Sort out .htaccess
if [ -a $BACKUP_DIRECTORY/docs/.htaccess ];
then
echo "Copying back .htaccess";
cp $BACKUP_DIRECTORY/docs/.htaccess $PLANNING_ROOT/docs/;
# FIXME - should we rename the old .htaccess?
else
echo "No .htaccess to put back";
fi;

# Write something in the deployment log
echo
echo "Updating deployment log"
echo "Deployed by $USER on `date`" >> $DEPLOYMENT_LOG

echo
echo "Remember to check that there are no changes needed in:"
echo ".htaccess"
echo "docs/include/config.php"
echo

Carregando…
Cancelar
Salvar