build/build.sh
author ymh <ymh.work@gmail.com>
Thu, 03 Nov 2016 04:43:18 +0100
changeset 389 2204faa0b41a
parent 388 202b6f209b9a
child 390 f4fed295115b
permissions -rwxr-xr-x
Correct problem in spaqrl client in php 56 + add line numbering in result table
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
388
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
     1
#!/usr/bin/env bash -l
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
set -e
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
## option --prod/--dev
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
VAGRANT_STARTED=false
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
green="\x1B[0;32m" # '\e[1;32m' is too bright for white bg.
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
blue="\x1B[1;34m"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
endColor="\x1B[0m"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
function echoblue() {
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    echo -e "${blue}$1${endColor}"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
}
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
function install() {
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    pushd "$DIR"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    echoblue "---> preparing bo client"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    pushd ../server/bo_client
367
e0fb97c1e9c6 correct build script + rpm hook scripts
ymh <ymh.work@gmail.com>
parents: 346
diff changeset
    23
    /usr/local/bin/npm install
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    ./node_modules/.bin/bower install
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    popd
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    echoblue "---> preparing bo client done"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    echoblue "---> preparing back"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    pushd ../server/src
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    php composer.phar install
367
e0fb97c1e9c6 correct build script + rpm hook scripts
ymh <ymh.work@gmail.com>
parents: 346
diff changeset
    31
    /usr/local/bin/npm install
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    ./node_modules/.bin/bower install
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    popd
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    echoblue "---> preparing back done"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    echoblue "---> preparing app-client"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    pushd ../cms/app-client
367
e0fb97c1e9c6 correct build script + rpm hook scripts
ymh <ymh.work@gmail.com>
parents: 346
diff changeset
    38
    /usr/local/bin/npm install
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    ./node_modules/.bin/bower install
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    popd
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    echoblue "---> preparing app-client done"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    echoblue "---> preparing module"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
    pushd ../cms
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    npm install
388
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
    46
    popd
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
    47
    echoblue "---> preparing module done"
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
    echoblue "---> checking vagrant"
388
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
    51
    if vagrant status | grep -q -v "running"; then
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
        echoblue "---> starting vagrant"
389
2204faa0b41a Correct problem in spaqrl client in php 56 + add line numbering in result table
ymh <ymh.work@gmail.com>
parents: 388
diff changeset
    53
        if which virtualenvwrapper.sh > /dev/null 2>&1 ; then
2204faa0b41a Correct problem in spaqrl client in php 56 + add line numbering in result table
ymh <ymh.work@gmail.com>
parents: 388
diff changeset
    54
            echoblue "---> activating ansible"
2204faa0b41a Correct problem in spaqrl client in php 56 + add line numbering in result table
ymh <ymh.work@gmail.com>
parents: 388
diff changeset
    55
            source `which virtualenvwrapper.sh`
368
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 367
diff changeset
    56
            workon ansible
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 367
diff changeset
    57
        fi
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
        vagrant up
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        VAGRANT_STARTED=true
389
2204faa0b41a Correct problem in spaqrl client in php 56 + add line numbering in result table
ymh <ymh.work@gmail.com>
parents: 388
diff changeset
    60
        if type -t deactivate > /dev/null 2>&1 ; then
368
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 367
diff changeset
    61
            deactivate
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 367
diff changeset
    62
        fi
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
    fi
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
    echoblue "---> done"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
388
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
    67
    popd > /dev/null
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
389
2204faa0b41a Correct problem in spaqrl client in php 56 + add line numbering in result table
ymh <ymh.work@gmail.com>
parents: 388
diff changeset
    69
    return 0
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
}
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
function usage() {
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
    cat <<EOF
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
Usage: $0 [-I] [-p|-d] [-h]
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
    -I : do not run install
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
    -h : print this message
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
    -p : build for production
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
    -d : build for development
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
EOF
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
}
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
environment=""
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
do_install=true
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
while getopts "Ihpd" opt; do
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
  case $opt in
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
    I) do_install=false ;;
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
    h) usage; exit 0 ;;
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
    p) [[ -n "$environment" ]] && { usage >&2; exit 1; } || environment='production' ;;
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
    d) [[ -n "$environment" ]] && { usage >&2; exit 1; } || environment='development' ;;
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
    \?) usage >&2; exit 1 ;;
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
  esac
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
done
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
shift $((OPTIND-1))
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
[[ -z "$environment" ]] && environment='production'
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
case $environment in
386
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   100
    development)
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   101
        build_option='--dev'
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   102
        build_option_back='--development'
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   103
        ;;
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   104
    *)
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   105
        build_option='--prod'
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   106
        build_option_back='--production'
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   107
        ;;
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
esac
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
echo "environment: $environment"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
echo "do_install: $do_install"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
[[ "$do_install" == true ]] && echoblue "DO INSTALL" && install;
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
pushd "$DIR"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
echoblue "---> cleaning build folder"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
rm -fr root
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
echoblue "---> creating build folder"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
mkdir -p root/var/www/corpusdelaparole/corpus-back
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
mkdir -p root/var/www/corpusdelaparole/drupal/sites/all/modules
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
388
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   123
echoblue "---> building back"
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
pushd ../server/src
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
version=$(sed -n "s/[[:space:]]*\'version\'[[:space:]]*=>[[:space:]]*\'\([\.0-9]*\)\'/\1/p" config/version.php)
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
version=${version:-0.0.0}
386
c731ab9b934d implement first version of sparql client interface
ymh <ymh.work@gmail.com>
parents: 368
diff changeset
   127
./node_modules/.bin/gulp copy-build ${build_option_back}
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
popd
388
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   129
echoblue "---> building back done"
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
echoblue "---> building app-client"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
pushd ../cms/app-client
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
./node_modules/.bin/ember build ${build_option}
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
popd
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
echoblue "---> building app-client done"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
echoblue "---> building module"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
pushd ../cms
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
./node_modules/.bin/gulp copy-build ${build_option} --version="$version"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
popd
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
echoblue "---> building package"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
vagrant ssh -c "/vagrant/build_rpm.sh"
388
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   144
echoblue "---> building package done"
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   145
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   146
if [ "$VAGRANT_STARTED" = true ]; then
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   147
    echoblue "---> Stopping vagrant"
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   148
    vagrant halt
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   149
    echoblue "---> Stopping vagrant done"
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   150
fi
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   151
202b6f209b9a set version 0.0.5
ymh <ymh.work@gmail.com>
parents: 386
diff changeset
   152
popd > /dev/null
346
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
echoblue "---> done"
4cd0f8c936ed upgrade build and delivery process for integration
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155