summaryrefslogtreecommitdiffstats
path: root/packaging/manual_nightly_deployment.sh
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/manual_nightly_deployment.sh')
-rwxr-xr-xpackaging/manual_nightly_deployment.sh127
1 files changed, 0 insertions, 127 deletions
diff --git a/packaging/manual_nightly_deployment.sh b/packaging/manual_nightly_deployment.sh
deleted file mode 100755
index a0999bb1..00000000
--- a/packaging/manual_nightly_deployment.sh
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/usr/bin/env bash
-#
-# This tool allows netdata team to manually deploy nightlies
-# It emulates the nightly operations required for a new version to be published for our users
-#
-# Copyright: SPDX-License-Identifier: GPL-3.0-or-later
-#
-# Author : Pavlos Emm. Katsoulakis <paul@netdata.cloud>
-#
-set -e
-
-# If we are not in netdata git repo, at the top level directory, fail
-TOP_LEVEL=$(basename "$(git rev-parse --show-toplevel)")
-CWD=$(git rev-parse --show-cdup || echo "")
-if [ -n "${CWD}" ] || [ ! "${TOP_LEVEL}" == "netdata" ]; then
- echo "Run as .travis/$(basename "$0") from top level directory of netdata git repository"
- echo "Changelog generation process aborted"
- exit 1
-fi
-
-if [ $# -lt 1 ] || [ $# -gt 2 ]; then
- echo "Run as ./$(basename "$0") [docker|gcs]|all] from the top level directory of netdata GIT repository"
- exit 1
-fi
-
-GSUTIL_BINARY=$(command -v gsutil 2> /dev/null)
-if [ -z "${GSUTIL_BINARY}" ]; then
- echo "No gsutil utility available, you need gsutil deployed to manually deploy to GCS"
- exit 1
-fi;
-
-# Function declarations
-publish_docker() {
-
- # Ensure REPOSITORY present
- if [ -z "${REPOSITORY}" ]; then
- echo "Please provide the repository to deploy the containers:"
- read -r REPOSITORY
- export REPOSITORY
- else
- echo "Docker publishing to ${REPOSITORY}"
- fi
-
- # Ensure DOCKER_USERNAME present
- if [ -z "${DOCKER_USERNAME}" ]; then
- echo "For repository ${REPOSITORY}, Please provide the docker USERNAME to use:"
- read -r DOCKER_USERNAME
- export DOCKER_USERNAME
- else
- echo "Using docker username ${DOCKER_USERNAME}"
- fi
-
- # Ensure DOCKER_PASS present
- if [ -z "${DOCKER_PASS}" ]; then
- echo "Username ${DOCKER_USERNAME} received, now give me the password:"
- read -r -s DOCKER_PASS
- export DOCKER_PASS
- else
- echo "Docker password has already been set to env, using that"
- fi
-
- echo "Building Docker images.."
- packaging/docker/build.sh
-
- echo "Publishing Docker images.."
- packaging/docker/publish.sh
-}
-
-publish_nightly_binaries() {
- echo "Publishing nightly binaries to GCS"
-
- echo "Please select the bucket to sync, from the ones available to you:"
- bucket_list=$(${GSUTIL_BINARY} list | tr '\n' ' ')
- declare -A buckets
- idx=0
- for abucket in ${bucket_list}; do
- echo "${idx}. ${abucket}"
- buckets["${idx}"]=${abucket}
- ((idx=idx+1))
- done
- read -p"Selection>" -r -n 1 selected_bucket
-
- echo "Ok!"
- echo "Syncing artifacts directory contents with GCS bucket: ${buckets[${selected_bucket}]}"
- if [ -d artifacts ]; then
- ${GSUTIL_BINARY} -m rsync -r artifacts "${buckets["${selected_bucket}"]}"
- echo "GCS Sync complete!"
- else
- echo "Directory artifacts does not exist, nothing to do on GCS"
- fi
-}
-
-prepare_and_publish_gcs() {
- # Prepare the artifacts directory
- echo "Preparing artifacts directory contents"
- .travis/create_artifacts.sh
-
- # Publish it to GCS
- publish_nightly_binaries
-
- # Clean up
- echo "Cleaning up repository"
- make clean || echo "Nothing to clean"
- make distclean || echo "Nothing to distclean"
- rm -rf artifacts
-}
-
-# Mandatory variable declarations
-export TRAVIS_REPO_SLUG="netdata/netdata"
-
-echo "Manual nightly deployment procedure started"
-case "$1" in
- "docker")
- publish_docker
- ;;
- "gcs")
- prepare_and_publish_gcs
- ;;
- "all")
- publish_docker
- prepare_and_publish_gcs
- ;;
- *)
- echo "ERROR: Invalid request parameter $1. Valid values are: docker, gcs, all"
- ;;
-esac
-echo "Manual nightly deployment completed!"