Skip to content

Instantly share code, notes, and snippets.

@samof76
Created October 6, 2016 05:45
Show Gist options
  • Save samof76/eaaf9bc5f89bd64bc685467b65083e64 to your computer and use it in GitHub Desktop.
Save samof76/eaaf9bc5f89bd64bc685467b65083e64 to your computer and use it in GitHub Desktop.
RedisHappy install script
#!/bin/bash
set -e
function install_haproxy () {
echo "Install dependencies..."
sudo yum install wget git gcc pcre-static pcre-devel -y
echo "Download haproxy..."
pushd /tmp
wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.3.tar.gz
echo "Untar conents..."
tar -xvf haproxy-1.6.3.tar.gz
echo "Start compiling haproxy..."
pushd haproxy-1.6.3
make TARGET=linux2628
sudo make install
echo "Configure haproxy..."
sudo cp /usr/local/sbin/haproxy /usr/sbin/
sudo mkdir -p /etc/haproxy
sudo mkdir -p /run/haproxy
sudo mkdir -p /var/lib/haproxy
sudo touch /var/lib/haproxy/stats
echo "create haproxy system user..."
sudo adduser --system --no-create-home --user-group haproxy
popd
echo "cleanup..."
rm -rf /tmp/haproxy-1.6.3
popd
}
function install_go () {
echo "Download go..."
pushd /tmp
wget https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz
echo "extract to /usr/local/go"
sudo tar -C /usr/local -xvzf go1.7.1.linux-amd64.tar.gz
popd
echo "add go bin path to profile"
echo "PATH=\$PATH:/usr/local/go/bin" > ~/gopath.sh
sudo mv ~/gopath.sh /etc/profile.d/
echo "create go projects directories..."
mkdir -p ~/projects/{bin,pkg}
echo "setup enviroment for go..."
echo "export GOBIN=\$HOME/projects/bin" >> ~/.bashrc
echo "export GOPATH=\$HOME/projects/src" >> ~/.bashrc
echo "export PATH=\$GOBIN:\$PATH" >> ~/.bashrc
}
function install_redishappy () {
echo "installing redis-happy"
go get github.com/mdevilliers/redishappy
pushd $GOPATH/src/github.com/mdevilliers/redishappy
go get github.com/tools/godep
go get github.com/axw/gocov/gocov
go get github.com/mattn/goveralls
go get golang.org/x/tools/cmd/cover
go get golang.org/x/tools/cmd/goimports
godep restore
build/ci.sh
popd
}
install_haproxy
install_go
source /etc/profile && source ~/.bashrc
install_redishappy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment