build: imported latest changes from grafana-docker.

This commit is contained in:
Leonard Gram 2018-07-30 14:05:56 +02:00
parent e848930476
commit 580e2c36d1
6 changed files with 62 additions and 31 deletions

View File

@ -182,7 +182,7 @@ jobs:
paths:
- dist/grafana*
build-docker:
grafana-docker-master:
docker:
- image: docker:stable-git
steps:
@ -191,9 +191,8 @@ jobs:
at: .
- setup_remote_docker
- run: docker info
- run: echo $GRAFANA_VERSION
- run: cp dist/grafana-latest.linux-x64.tar.gz packaging/docker
- run: cd packaging/docker && ./build.sh ${GRAFANA_VERSION}
- run: cd packaging/docker && ./build-deploy.sh "grafana-docker-${CIRCLE_SHA1}"
build-enterprise:
docker:
@ -362,7 +361,7 @@ workflows:
filters: *filter-not-release-or-master
- postgres-integration-test:
filters: *filter-not-release-or-master
- build-docker:
- grafana-docker-master:
requires:
- build
- test-backend

View File

@ -0,0 +1,13 @@
#!/bin/sh
_grafana_version=$1
./build.sh "$_grafana_version"
docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
#./push_to_docker_hub.sh "$_grafana_version"
echo "Would have deployed $_grafana_version"
if echo "$_grafana_version" | grep -q "^master-"; then
apk add --no-cache curl
./deploy_to_k8s.sh "grafana/grafana-dev:$_grafana_version"
fi

View File

@ -1,21 +1,28 @@
#!/bin/sh
_grafana_tag=$1
_grafana_version=$(echo ${_grafana_tag} | cut -d "v" -f 2)
_docker_repo=${2:-grafana/grafana}
echo ${_grafana_version}
if [ "$_grafana_version" != "" ]; then
echo "Building version ${_grafana_version}"
docker build \
--tag "${_docker_repo}:${_grafana_version}" \
--no-cache=true .
docker tag ${_docker_repo}:${_grafana_version} ${_docker_repo}:latest
# If the tag starts with v, treat this as a official release
if echo "$_grafana_tag" | grep -q "^v"; then
_grafana_version=$(echo "${_grafana_tag}" | cut -d "v" -f 2)
_grafana_url="https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${_grafana_version}.linux-amd64.tar.gz"
_docker_repo=${2:-grafana/grafana}
else
echo "Building latest for master"
docker build \
--tag "grafana/grafana:master" \
.
_grafana_version=$_grafana_tag
_grafana_url="https://s3-us-west-2.amazonaws.com/grafana-releases/master/grafana-${_grafana_version}.linux-x64.tar.gz"
_docker_repo=${2:-grafana/grafana-dev}
fi
echo "Building ${_docker_repo}:${_grafana_version} from ${_grafana_url}"
docker build \
--build-arg GRAFANA_URL="${_grafana_url}" \
--tag "${_docker_repo}:${_grafana_version}" \
--no-cache=true .
# Tag as 'latest' for official release; otherwise tag as grafana/grafana:master
if echo "$_grafana_tag" | grep -q "^v"; then
docker tag "${_docker_repo}:${_grafana_version}" "${_docker_repo}:latest"
else
docker tag "${_docker_repo}:${_grafana_version}" "grafana/grafana:master"
fi

View File

@ -0,0 +1,6 @@
#!/bin/sh
curl -s --header "Content-Type: application/json" \
--data "{\"build_parameters\": {\"CIRCLE_JOB\": \"deploy\", \"IMAGE_NAMES\": \"$1\"}}" \
--request POST \
https://circleci.com/api/v1.1/project/github/raintank/deployment_tools/tree/master?circle-token=$CIRCLE_TOKEN

View File

@ -1,16 +1,22 @@
#!/bin/sh
_grafana_tag=$1
_grafana_version=$(echo ${_grafana_tag} | cut -d "v" -f 2)
if [ "$_grafana_version" != "" ]; then
echo "pushing grafana/grafana:${_grafana_version}"
docker push grafana/grafana:${_grafana_version}
# If the tag starts with v, treat this as a official release
if echo "$_grafana_tag" | grep -q "^v"; then
_grafana_version=$(echo "${_grafana_tag}" | cut -d "v" -f 2)
_docker_repo=${2:-grafana/grafana}
else
_grafana_version=$_grafana_tag
_docker_repo=${2:-grafana/grafana-dev}
fi
if echo "$_grafana_version" | grep -viqF beta; then
echo "pushing grafana/grafana:latest"
docker push grafana/grafana:latest
fi
echo "pushing ${_docker_repo}:${_grafana_version}"
docker push "${_docker_repo}:${_grafana_version}"
if echo "$_grafana_tag" | grep -q "^v"; then
echo "pushing ${_docker_repo}:latest"
docker push "${_docker_repo}:latest"
else
echo "pushing grafana/grafana:master"
docker push grafana/grafana:master

View File

@ -46,11 +46,11 @@ if [ ! -z ${GF_AWS_PROFILES+x} ]; then
chmod 600 "$GF_PATHS_HOME/.aws/credentials"
fi
# Convert all environment variables with names ending in _FILE into the content of
# the file that they point at and use the name without the trailing _FILE.
# Convert all environment variables with names ending in __FILE into the content of
# the file that they point at and use the name without the trailing __FILE.
# This can be used to carry in Docker secrets.
for VAR_NAME in $(env | grep '^GF_[^=]\+_FILE=.\+' | sed -r "s/([^=]*)_FILE=.*/\1/g"); do
VAR_NAME_FILE="$VAR_NAME"_FILE
for VAR_NAME in $(env | grep '^GF_[^=]\+__FILE=.\+' | sed -r "s/([^=]*)__FILE=.*/\1/g"); do
VAR_NAME_FILE="$VAR_NAME"__FILE
if [ "${!VAR_NAME}" ]; then
echo >&2 "ERROR: Both $VAR_NAME and $VAR_NAME_FILE are set (but are exclusive)"
exit 1