X-Git-Url: https://git.arvados.org/arvados-dev.git/blobdiff_plain/9932d701d2ebe1d8f9d04aeaef701a1e7b616852..d8b5db8865d9d2929e9a3fe708d609d10622817f:/jenkins/arvados-workbench-extras/arvados-workbench-upgrade.sh diff --git a/jenkins/arvados-workbench-extras/arvados-workbench-upgrade.sh b/jenkins/arvados-workbench-extras/arvados-workbench-upgrade.sh index 5b89ec7..e981517 100755 --- a/jenkins/arvados-workbench-extras/arvados-workbench-upgrade.sh +++ b/jenkins/arvados-workbench-extras/arvados-workbench-upgrade.sh @@ -1,13 +1,38 @@ #!/bin/bash +set -e + +if [ -e /etc/redhat-release ]; then + WWW_OWNER=nginx:nginx +else + # Assume we're on a Debian-based system for now. + WWW_OWNER=www-data:www-data +fi + +NGINX_SERVICE=${NGINX_SERVICE:-$(service --status-all 2>/dev/null \ + | grep -Eo '\bnginx[^[:space:]]*' || true)} +if [ -z "$NGINX_SERVICE" ]; then + cat >&2 <&2 < /dev/null +if [[ "$?" != "0" ]]; then + gem install bundle +fi +set -e +echo "Done." + echo "Running bundle install" (cd $RELEASE_PATH && RAILS_ENV=production bundle install --path $SHARED_PATH/vendor_bundle) echo "Done." @@ -28,13 +62,13 @@ echo "Done." # We do not need to precompile assets, they are already part of the package. echo "Ensuring directory and file permissions" -chown www-data:www-data $RELEASE_PATH/config/environment.rb -chown www-data:www-data $RELEASE_PATH/config.ru -chown www-data:www-data $RELEASE_PATH/config/database.yml -chown www-data:www-data $RELEASE_PATH/Gemfile.lock -chown -R www-data:www-data $RELEASE_PATH/tmp -chown -R www-data:www-data $SHARED_PATH/log -chown www-data:www-data $RELEASE_PATH/db/schema.rb +chown "$WWW_OWNER" $RELEASE_PATH/config/environment.rb +chown "$WWW_OWNER" $RELEASE_PATH/config.ru +chown "$WWW_OWNER" $RELEASE_PATH/config/database.yml +chown "$WWW_OWNER" $RELEASE_PATH/Gemfile.lock +chown -R "$WWW_OWNER" $RELEASE_PATH/tmp +chown -R "$WWW_OWNER" $SHARED_PATH/log +chown "$WWW_OWNER" $RELEASE_PATH/db/schema.rb chmod 644 $SHARED_PATH/log/* echo "Done." @@ -51,6 +85,6 @@ fi # We do not need to run db:migrate because Workbench is stateless echo "Restarting nginx" -service nginx restart +service "$NGINX_SERVICE" restart echo "Done."