28 lines
661 B
Bash
28 lines
661 B
Bash
#!/usr/bin/env bash
|
|
# Build and optionally push the Ansible test image.
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
METHODOLOGY_DIR="$(dirname "$SCRIPT_DIR")"
|
|
REPOSITORY_DIR="$(cd "$METHODOLOGY_DIR/../.." && pwd)"
|
|
|
|
IMAGE_NAME="${IMAGE_NAME:-ansible}"
|
|
REGISTRY="${REGISTRY:-}"
|
|
TAG="${TAG:-latest}"
|
|
FULL_IMAGE="${REGISTRY:+${REGISTRY}/}${IMAGE_NAME}:${TAG}"
|
|
|
|
docker build \
|
|
--file "$METHODOLOGY_DIR/Dockerfile" \
|
|
--tag "$FULL_IMAGE" \
|
|
"$REPOSITORY_DIR"
|
|
|
|
if [ "${1:-}" = "--push" ]; then
|
|
if [ -z "$REGISTRY" ]; then
|
|
echo "REGISTRY is required with --push" >&2
|
|
exit 1
|
|
fi
|
|
docker push "$FULL_IMAGE"
|
|
fi
|
|
|
|
echo "Built $FULL_IMAGE"
|