#!/usr/bin/env bash # Start the application with the given comma-separated profiles and block until it answers. # ./scripts/run.sh # defaults # ./scripts/run.sh exposeall,open # every endpoint, no authentication set -euo pipefail cd "$(dirname "$0")/.." source scripts/env.sh PROFILES="${1:-}" LOG="${LOG:-/tmp/actuator-demo.log}" scripts/stop.sh ARGS=(-B -o org.springframework.boot:spring-boot-maven-plugin:run) [ -n "$PROFILES" ] && ARGS+=("-Dspring-boot.run.profiles=$PROFILES") setsid nohup "$MVN" "${ARGS[@]}" > "$LOG" 2>&1 < /dev/null & READY_URL="${READY_URL:-http://127.0.0.1:${APP_PORT}/orders/count}" for _ in $(seq 1 90); do code=$(curl -s -o /dev/null -w '%{http_code}' -u ops:ops-password "$READY_URL" || true) [ "$code" != "000" ] && [ -n "$code" ] && exit 0 sleep 2 done echo "application did not start; tail of $LOG:" >&2 tail -40 "$LOG" >&2 exit 1