#!/bin/bash function export_files() { local srcbase=$1 local dstbase=$2 echo "Copying files..." while read src dst do [ -d "$dstbase/$dst" ] || mkdir -p "$dstbase/$dst" cp "$srcbase/$src" "$dstbase/$dst" done } echo "Cleaning up work/ directory..." [ -d work.old/ ] && chmod 777 -R work.old/ && rm -rf work.old/ [ -d work ] && mv work/ work.old/ mkdir work/ srcbase=".." dstbase="work/tarball" commit=$(cd $srcbase ; git describe --always HEAD) buildname=editablesite-$commit srclocale=$srcbase/locale dstlocale="$dstbase/$buildname/admin/locale" archfile=out/$buildname installdir=/var/www export_files $srcbase $dstbase/$buildname </dev/null done ) echo "Creating tarball..." # Tarball with samples tar cf $archfile.tar -C "$dstbase" --owner root --group www-data $buildname/ echo "Compressing..." gzip -9 -c $archfile.tar > $archfile.tar.gz ( cd "$dstbase" ; zip -9 -q -r - $buildname/) > $archfile.zip rm $archfile.tar echo "Deploying for test in $installdir" sudo tar -xf $archfile.tar.gz -C $installdir