97 lines
2 KiB
Bash
Executable file
97 lines
2 KiB
Bash
Executable file
#!/bin/bash
|
||
|
||
ensure_jq() {
|
||
if [ ! -x "$(command -v jq)" ]; then
|
||
if [ -x "$(command -v apt-get)" ]; then
|
||
echo "🛠🛠🛠 Installing 'jq' via 'apt-get'"
|
||
apt-get update && apt-get install -y jq
|
||
else
|
||
echo "⚠️⚠️⚠️ apt-get not found, unable to automatically install 'jq'."
|
||
fi
|
||
fi
|
||
}
|
||
|
||
# Passes args to the scripts
|
||
run_build() {
|
||
echo "🐳🐳🐳 Building '${BUILD}' images"
|
||
case ${BUILD} in
|
||
release)
|
||
# build the latest release
|
||
# shellcheck disable=SC2068
|
||
./build-latest.sh $@
|
||
;;
|
||
prerelease)
|
||
# build the latest pre-release
|
||
# shellcheck disable=SC2068
|
||
PRERELEASE=true ./build-latest.sh $@
|
||
;;
|
||
branches)
|
||
# build all branches
|
||
# shellcheck disable=SC2068
|
||
./build-branches.sh $@
|
||
;;
|
||
this) # Pull Requests
|
||
# only build the 'master' branch of netbox
|
||
# (resulting in the 'latest' docker tag)
|
||
# and the 'main' target.
|
||
DOCKER_TARGET=main ./build.sh master
|
||
;;
|
||
*)
|
||
echo "🚨 Unrecognized build '$BUILD'."
|
||
|
||
if [ -z "$DEBUG" ]; then
|
||
exit 1
|
||
else
|
||
echo "⚠️ Would exit here with code '1', but DEBUG is enabled."
|
||
fi
|
||
;;
|
||
esac
|
||
}
|
||
|
||
env_info() {
|
||
echo "ℹ️ docker version"
|
||
docker version
|
||
|
||
echo "ℹ️ docker-compose version"
|
||
docker-compose version
|
||
|
||
echo "ℹ️ git version"
|
||
git --version
|
||
|
||
echo "ℹ️ curl version"
|
||
curl --version
|
||
|
||
echo "ℹ️ jq version"
|
||
jq --version
|
||
|
||
echo "ℹ️ bash version"
|
||
bash --version
|
||
|
||
echo "ℹ️ apt-get version"
|
||
apt-get --version
|
||
|
||
echo "ℹ️ date version"
|
||
date --version
|
||
|
||
echo "ℹ️ Netbox Docker VERSION"
|
||
cat VERSION
|
||
|
||
echo "ℹ️ Netbox Docker git ref"
|
||
git rev-parse HEAD
|
||
git rev-parse --abbrev-ref HEAD
|
||
}
|
||
|
||
|
||
echo "🤖🤖🤖 Preparing build"
|
||
export DOCKER_ORG=netboxcommunity
|
||
export DOCKER_REPO=netbox
|
||
export DOCKER_REGISTRY=docker.io
|
||
# shellcheck disable=SC2153
|
||
export BUILD="${DOCKER_TAG}"
|
||
|
||
unset DOCKER_TAG
|
||
|
||
ensure_jq
|
||
|
||
echo "🤖🤖🤖 Build Environment Information"
|
||
env_info
|