mirror of https://github.com/grafana/grafana
parent
96759e39a6
commit
702d449001
@ -1,25 +1,49 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
|
|
||||||
_grafana_tag=$1 |
_grafana_tag=${1:-} |
||||||
|
_docker_repo=${2:-grafana/grafana} |
||||||
|
|
||||||
# If the tag starts with v, treat this as a official release |
# If the tag starts with v, treat this as a official release |
||||||
if echo "$_grafana_tag" | grep -q "^v"; then |
if echo "$_grafana_tag" | grep -q "^v"; then |
||||||
_grafana_version=$(echo "${_grafana_tag}" | cut -d "v" -f 2) |
_grafana_version=$(echo "${_grafana_tag}" | cut -d "v" -f 2) |
||||||
_docker_repo=${2:-grafana/grafana} |
|
||||||
else |
else |
||||||
_grafana_version=$_grafana_tag |
_grafana_version=$_grafana_tag |
||||||
_docker_repo=${2:-grafana/grafana-dev} |
|
||||||
fi |
fi |
||||||
|
|
||||||
echo "Building ${_docker_repo}:${_grafana_version}" |
echo "Building ${_docker_repo}:${_grafana_version}" |
||||||
|
|
||||||
docker build \ |
export DOCKER_CLI_EXPERIMENTAL=enabled |
||||||
--tag "${_docker_repo}:${_grafana_version}" \ |
|
||||||
--no-cache=true . |
# Build grafana image for a specific arch |
||||||
|
docker_build () { |
||||||
|
base_image=$1 |
||||||
|
grafana_tgz=$2 |
||||||
|
tag=$3 |
||||||
|
|
||||||
|
docker build \ |
||||||
|
--build-arg BASE_IMAGE=${base_image} \ |
||||||
|
--build-arg GRAFANA_TGZ=${grafana_tgz} \ |
||||||
|
--tag "${tag}" \ |
||||||
|
--no-cache=true . |
||||||
|
} |
||||||
|
|
||||||
|
# Tag docker images of all architectures |
||||||
|
docker_tag_all () { |
||||||
|
repo=$1 |
||||||
|
tag=$2 |
||||||
|
docker tag "${_docker_repo}:${_grafana_version}" "${repo}:${tag}" |
||||||
|
docker tag "${_docker_repo}-arm32v7-linux:${_grafana_version}" "${repo}-arm32v7-linux:${tag}" |
||||||
|
docker tag "${_docker_repo}-arm64v8-linux:${_grafana_version}" "${repo}-arm64v8-linux:${tag}" |
||||||
|
} |
||||||
|
|
||||||
|
docker_build "debian:stretch-slim" "grafana-latest.linux-x64.tar.gz" "${_docker_repo}:${_grafana_version}" |
||||||
|
docker_build "arm32v7/debian:stretch-slim" "grafana-latest.linux-armv7.tar.gz" "${_docker_repo}-arm32v7-linux:${_grafana_version}" |
||||||
|
docker_build "arm64v8/debian:stretch-slim" "grafana-latest.linux-arm64.tar.gz" "${_docker_repo}-arm64v8-linux:${_grafana_version}" |
||||||
|
|
||||||
# Tag as 'latest' for official release; otherwise tag as grafana/grafana:master |
# Tag as 'latest' for official release; otherwise tag as grafana/grafana:master |
||||||
if echo "$_grafana_tag" | grep -q "^v"; then |
if echo "$_grafana_tag" | grep -q "^v"; then |
||||||
docker tag "${_docker_repo}:${_grafana_version}" "${_docker_repo}:latest" |
docker_tag_all "${_docker_repo}" "latest" |
||||||
else |
else |
||||||
docker tag "${_docker_repo}:${_grafana_version}" "grafana/grafana:master" |
docker_tag_all "${_docker_repo}" "master" |
||||||
|
docker tag "${_docker_repo}:${_grafana_version} grafana/grafana-dev:${_grafana_version}" |
||||||
fi |
fi |
||||||
|
@ -1,24 +1,46 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
set -e |
set -e |
||||||
|
|
||||||
_grafana_tag=$1 |
_grafana_tag=${1:-} |
||||||
|
_docker_repo=${2:-grafana/grafana} |
||||||
|
|
||||||
# If the tag starts with v, treat this as a official release |
# If the tag starts with v, treat this as a official release |
||||||
if echo "$_grafana_tag" | grep -q "^v"; then |
if echo "$_grafana_tag" | grep -q "^v"; then |
||||||
_grafana_version=$(echo "${_grafana_tag}" | cut -d "v" -f 2) |
_grafana_version=$(echo "${_grafana_tag}" | cut -d "v" -f 2) |
||||||
_docker_repo=${2:-grafana/grafana} |
|
||||||
else |
else |
||||||
_grafana_version=$_grafana_tag |
_grafana_version=$_grafana_tag |
||||||
_docker_repo=${2:-grafana/grafana-dev} |
|
||||||
fi |
fi |
||||||
|
|
||||||
|
export DOCKER_CLI_EXPERIMENTAL=enabled |
||||||
|
|
||||||
echo "pushing ${_docker_repo}:${_grafana_version}" |
echo "pushing ${_docker_repo}:${_grafana_version}" |
||||||
docker push "${_docker_repo}:${_grafana_version}" |
|
||||||
|
|
||||||
|
docker_push_all () { |
||||||
|
repo=$1 |
||||||
|
tag=$2 |
||||||
|
|
||||||
|
# Push each image individually |
||||||
|
docker push "${repo}:${tag}" |
||||||
|
docker push "${repo}-arm32v7-linux:${tag}" |
||||||
|
docker push "${repo}-arm64v8-linux:${tag}" |
||||||
|
|
||||||
|
# Create and push a multi-arch manifest |
||||||
|
docker manifest create "${repo}:${tag}" \ |
||||||
|
"${repo}:${tag}" \ |
||||||
|
"${repo}-arm32v7-linux:${tag}" \ |
||||||
|
"${repo}-arm64v8-linux:${tag}" |
||||||
|
|
||||||
|
docker manifest push "${repo}:${tag}" |
||||||
|
} |
||||||
|
|
||||||
if echo "$_grafana_tag" | grep -q "^v" && echo "$_grafana_tag" | grep -vq "beta"; then |
if echo "$_grafana_tag" | grep -q "^v" && echo "$_grafana_tag" | grep -vq "beta"; then |
||||||
echo "pushing ${_docker_repo}:latest" |
echo "pushing ${_docker_repo}:latest" |
||||||
docker push "${_docker_repo}:latest" |
docker_push_all "${_docker_repo}" "latest" |
||||||
|
docker_push_all "${_docker_repo}" "${_grafana_version}" |
||||||
|
elif echo "$_grafana_tag" | grep -q "^v" && echo "$_grafana_tag" | grep -q "beta"; then |
||||||
|
docker_push_all "${_docker_repo}" "${_grafana_version}" |
||||||
elif echo "$_grafana_tag" | grep -q "master"; then |
elif echo "$_grafana_tag" | grep -q "master"; then |
||||||
echo "pushing grafana/grafana:master" |
docker_push_all "grafana/grafana" "master" |
||||||
docker push grafana/grafana:master |
docker push "grafana/grafana-dev:${_grafana_version}" |
||||||
fi |
fi |
||||||
|
Loading…
Reference in new issue