61 lines
1.7 KiB
Bash
Executable File
61 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
cd "$(dirname "$0")/../../" || { echo "Failed to enter base dir"; exit 1; }
|
|
source ./scripts/travis/properties.sh
|
|
source ./scripts/helper.sh
|
|
|
|
git_rev=$(git_version "short-tag")
|
|
if [[ "$1" == "release" ]]; then
|
|
echo "Releasing $git_rev as release"
|
|
rolling_tag="latest"
|
|
elif [[ "$1" == "development" ]]; then
|
|
echo "Releasing $git_rev as beta release"
|
|
rolling_tag="beta"
|
|
else
|
|
echo "Invalid release mode"
|
|
exit 1
|
|
fi
|
|
|
|
# FIXME: This dosn't work anymore
|
|
zip_file=$(find "$PACKAGES_DIRECTORY" -maxdepth 1 -name "TeaWeb-release*.zip" -print)
|
|
[[ $(echo "$zip_file" | wc -l) -ne 1 ]] && {
|
|
echo "Invalid .zip file count (Expected 1 but got $(echo "$zip_file" | wc -l)): ${zip_file[*]}"
|
|
exit 1
|
|
}
|
|
[[ ! -e "$zip_file" ]] && {
|
|
echo "File ($zip_file) does not exists"
|
|
exit 1
|
|
}
|
|
|
|
git clone https://github.com/TeaSpeak/TeaDocker.git auto-build/teadocker || {
|
|
echo "Failed to clone the TeaDocker project"
|
|
exit 1
|
|
}
|
|
|
|
cp "$zip_file" auto-build/teadocker/web/TeaWeb-release.zip || {
|
|
echo "Failed to copy Docker webclient files to the docker files build context"
|
|
exit 1
|
|
}
|
|
|
|
docker build -f auto-build/teadocker/web/travis.Dockerfile --build-arg WEB_VERSION="$git_rev" --build-arg WEB_ZIP=TeaWeb-release.zip -t teaspeak/web:"$rolling_tag" auto-build/teadocker/web || {
|
|
echo "Failed to build dockerfile"
|
|
exit 1
|
|
}
|
|
|
|
docker tag teaspeak/web:"$rolling_tag" teaspeak/web:"$git_rev" || {
|
|
echo "Failed to tag docker release"
|
|
exit 1
|
|
}
|
|
|
|
docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_TOKEN" || {
|
|
echo "Failed to login to docker hub"
|
|
exit 1
|
|
}
|
|
|
|
docker push teaspeak/web || {
|
|
echo "Failed to push new teaspeak/web tags"
|
|
exit 1
|
|
}
|
|
docker logout # &> /dev/null
|
|
|
|
exit 0 |