diff options
| author | Robert | 2017-06-02 16:01:57 +0200 | 
|---|---|---|
| committer | Robert | 2017-06-02 16:01:57 +0200 | 
| commit | b4193e4a246684974ecc4c40a230a07d921c737f (patch) | |
| tree | 7bcf6abba3f6848bcc9f82b5a55cc14c78787db8 /install/deploy-helper.sh | |
| parent | 4e791b7c834c65ee968580e0e0281eb97a7c89eb (diff) | |
| download | chouette-core-b4193e4a246684974ecc4c40a230a07d921c737f.tar.bz2 | |
Merge branch 'master' of github.com:af83/stif-boiv
Diffstat (limited to 'install/deploy-helper.sh')
| -rwxr-xr-x | install/deploy-helper.sh | 102 | 
1 files changed, 102 insertions, 0 deletions
| diff --git a/install/deploy-helper.sh b/install/deploy-helper.sh new file mode 100755 index 000000000..487c4539c --- /dev/null +++ b/install/deploy-helper.sh @@ -0,0 +1,102 @@ +#!/bin/bash -e + +export BASEDIR=$PREFIX/var/www/stif-boiv + +export RUN_USER=www-data +export RUN_GROUP=src + +export SUDO="" + +function setup() { +    mkdir -p $BASEDIR +    mkdir -p $BASEDIR/releases $BASEDIR/shared + +    $SUDO mkdir -p $PREFIX/etc/stif-boiv +    ln -fs $PREFIX/etc/stif-boiv $BASEDIR/shared/config + +    mkdir -p $BASEDIR/shared/config/environments + +    mkdir -p $BASEDIR/shared/public +    mkdir -p $BASEDIR/shared/public/uploads +    mkdir -p $BASEDIR/shared/public/assets + +    mkdir -p $BASEDIR/shared/tmp/uploads + +    $SUDO chown $RUN_USER:$RUN_GROUP $BASEDIR/shared/public/uploads $BASEDIR/shared/tmp/uploads + +    default_config +} + +function default_config() { +    DATABASE_PASSWORD=${DATABASE_PASSWORD:-FIXME} +    DATABASE_HOST=${DATABASE_HOST:-"localhost"} + +    cd $BASEDIR/shared/config + +    if [ ! -f secrets.yml ]; then +        cat > secrets.yml <<EOF +production: +  secret_key_base: `echo $RANDOM | sha512sum | cut -f1 -d' '` +EOF +    fi + +    if [ ! -f database.yml ]; then +        cat > database.yml <<EOF +production: +  adapter: postgresql +  encoding: unicode +  pool: 5 + +  host: $DATABASE_HOST +  database: stif-boiv + +  username: stif-boiv +  password: $DATABASE_PASSWORD +EOF +    fi +} + +function install() { +    tar_file=$1 + +    # stif-boiv-20160617154541.tar +    release_name=`echo $tar_file | sed 's/.*-\([0-9]*\)\.tar/\1/g'` + +    RELEASE_PATH=$BASEDIR/releases/$release_name + +    if [ -d $RELEASE_PATH ]; then +        echo "Release directory $RELEASE_PATH already exists" +        return +    fi + +    mkdir -p $RELEASE_PATH + +    tar -xf $tar_file -C $RELEASE_PATH + +    cd $RELEASE_PATH + +    mkdir -p tmp + +    for directory in public/uploads tmp/uploads public/assets; do +        local_directory=$BASEDIR/shared/$directory +        release_directory=$directory + +        rm -rf $release_directory +        ln -s $local_directory $release_directory +    done + +    for file in secrets.yml database.yml environments/production.rb; do +        local_file=$BASEDIR/shared/config/$file +        release_file=config/$file + +        rm $release_file && ln -fs $local_file $release_file +    done + +    echo "Release installed into $RELEASE_PATH" +} + +command=$1 +shift + +set -x +$command $@ | 
