tinode-chat/docker-release.sh

69 lines
1.4 KiB
Bash
Raw Permalink Normal View History

2018-05-23 13:47:37 -07:00
#!/bin/bash
# Publish Tinode docker images to hub.docker.com
2018-05-23 13:47:37 -07:00
function containerName() {
if [ "$1" == "alldbs" ]; then
# For alldbs, container name is simply tinode.
local name="tinode"
else
# Otherwise, tinode-$dbtag.
local name="tinode-${dbtag}"
fi
echo $name
}
2018-05-23 13:47:37 -07:00
for line in $@; do
eval "$line"
done
tag=${tag#?}
if [ -z "$tag" ]; then
echo "Must provide tag as 'tag=v1.2.3' or 'v1.2.3-abc0'"
2018-05-23 13:47:37 -07:00
exit 1
fi
# Convert tag into a version
ver=( ${tag//./ } )
if [[ ${ver[2]} != *"-"* ]]; then
2018-05-23 13:47:37 -07:00
FULLRELEASE=1
fi
2023-04-11 10:54:30 -04:00
dbtags=( mysql postgres mongodb rethinkdb alldbs )
2018-05-23 13:47:37 -07:00
# Read dockerhub login/password from a separate file
source .dockerhub
2020-02-25 13:57:12 +03:00
# Login to docker hub
docker login -u $user -p $pass
2018-05-23 13:47:37 -07:00
# Deploy images for various DB backends
for dbtag in "${dbtags[@]}"
do
name="$(containerName $dbtag)"
2018-05-23 13:47:37 -07:00
# Deploy tagged image
if [ -n "$FULLRELEASE" ]; then
docker push tinode/${name}:latest
docker push tinode/${name}:"${ver[0]}.${ver[1]}"
2018-05-23 13:47:37 -07:00
fi
docker push tinode/${name}:"${ver[0]}.${ver[1]}.${ver[2]}"
2018-05-23 13:47:37 -07:00
done
# Deploy chatbot images
if [ -n "$FULLRELEASE" ]; then
docker push tinode/chatbot:latest
docker push tinode/chatbot:"${ver[0]}.${ver[1]}"
fi
docker push tinode/chatbot:"${ver[0]}.${ver[1]}.${ver[2]}"
2020-02-25 13:57:12 +03:00
# Deploy exporter images
if [ -n "$FULLRELEASE" ]; then
docker push tinode/exporter:latest
docker push tinode/exporter:"${ver[0]}.${ver[1]}"
fi
docker push tinode/exporter:"${ver[0]}.${ver[1]}.${ver[2]}"
2020-02-25 13:57:12 +03:00
docker logout