#!/usr/bin/env bash set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o errexit ## set -e : exit the script if any statement returns a non-true return value get_script_dir () { SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" SOURCE="$( readlink "$SOURCE" )" [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" done cd -P "$( dirname "$SOURCE" )" pwd } cd "$(get_script_dir)" if [[ "$NO_SUDO" || -n "$CIRCLECI" ]]; then DOCKER="docker" elif groups "$USER" | grep &>/dev/null '\bdocker\b'; then DOCKER="docker" else DOCKER="sudo docker" fi IMAGE="hbpmip/portal-backend" VCS_REF=$(git describe --tags --dirty) VERSION=$(git describe --tags --dirty) docker build --build-arg BUILD_DATE=$(date -Iseconds) \ --build-arg VCS_REF=$VCS_REF \ --build-arg VERSION=$VERSION \ --tag "$IMAGE:latest" \ --tag "$IMAGE:$VERSION" \ --tag jerrypan44/portal_backend:latest \ . docker push jerrypan44/portal_backend:latest BUGSNAG_KEY="" eval $(grep -e "^\\s*BUGSNAG_KEY" Dockerfile | tr '\\' ' ') if [[ -n "$BUGSNAG_KEY" ]]; then curl https://build.bugsnag.com/ \ --header "Content-Type: application/json" \ --data "{ \"apiKey\": \"$BUGSNAG_KEY\", \"appVersion\": \"$VERSION\", \"releaseStage\": \"dev\", \"builderName\": \"$USER\", \"sourceControl\": { \"provider\": \"github\", \"repository\": \"https://github.com/LREN-CHUV/portal-backend\", \"revision\": \"$VCS_REF\" }, \"metadata\": {} }" fi