summaryrefslogtreecommitdiffstats
path: root/utils/kube_setup/install_golang.sh
diff options
context:
space:
mode:
Diffstat (limited to 'utils/kube_setup/install_golang.sh')
-rw-r--r--utils/kube_setup/install_golang.sh100
1 files changed, 100 insertions, 0 deletions
diff --git a/utils/kube_setup/install_golang.sh b/utils/kube_setup/install_golang.sh
new file mode 100644
index 00000000..06c54cee
--- /dev/null
+++ b/utils/kube_setup/install_golang.sh
@@ -0,0 +1,100 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+usage="Script to install and config golang of specific version.
+
+usage:
+ bash $(basename "$0") [-h|--help] [-v|--version <version>] [--debug]
+
+where:
+ -h|--help show the help text
+ -v|--version input the version of golang
+ --debug debug option switch
+examples:
+ $(basename "$0") -v 1.10.3"
+
+# Debug option
+redirect="/dev/null"
+
+# Process input variables
+while [[ $# > 0 ]]
+ do
+ key="$1"
+ case $key in
+ -h|--help)
+ echo "$usage"
+ exit 0
+ shift
+ ;;
+ -v|--version)
+ GOLANG_VERSION="$2"
+ shift
+ ;;
+ --debug)
+ redirect="/dev/stdout"
+ shift
+ ;;
+ *)
+ echo "unkown option $1 $2"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+#set -e
+
+echo "=======Downloading golang of version: ${GOLANG_VERSION}========"
+
+if [[ -f go${GOLANG_VERSION}.linux-amd64.tar.gz ]]; then
+ rm go${GOLANG_VERSION}.linux-amd64.tar.gz
+fi
+curl -O https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-amd64.tar.gz >${redirect}
+
+echo "Installing golang of version: ${GOLANG_VERSION}"
+if [[ -d /usr/local/go ]]; then
+ rm -rf /usr/local/go
+fi
+
+tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-amd64.tar.gz >${redirect}
+
+if [[ -d $HOME/go ]]; then
+ rm -rf ${HOME}/go
+ mkdir ${HOME}/go
+ mkdir ${HOME}/go/bin
+ mkdir ${HOME}/go/src
+else
+ mkdir ${HOME}/go
+ mkdir ${HOME}/go/bin
+ mkdir ${HOME}/go/src
+fi
+
+echo "Adding golang env to ~/.bashrc"
+GOROOT=/usr/local/go
+GOPATH=${HOME}/go
+
+if [[ $(cat ${HOME}/.bashrc | grep GOROOT) ]]; then
+ echo "golang env alreay in ${HOME}/.bashrc"
+else
+ cat <<EOF >> ${HOME}/.bashrc
+
+export GOROOT=/usr/local/go
+export GOPATH=${HOME}/go
+export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
+EOF
+fi
+
+export GOROOT=/usr/local/go
+export GOPATH=${HOME}/go
+export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
+
+echo "Running go version command:"
+go version
+
+echo "=======Installation of golang-${GOLANG_VERSION} complete======="
+