-
Notifications
You must be signed in to change notification settings - Fork 0
Native Setup
Naren Dasan edited this page Apr 18, 2017
·
2 revisions
Note: It is necessary for you to have an ssh key (without a password if you want it to be even easier) attached to your github
-
Install repo - https://android.googlesource.com/tools/repo/
Mac OS
brew install repo
Ubuntu 14.04+
sudo apt install repo
-
Make a directory to house your groot work
mkdir groot
-
Within this directory run the following command to start managing the projects
repo init -u [email protected]:acm-uiuc/groot-manifest
-
Run the following command to grab the latest releases of the services and frontend
repo sync
-
Golang
- Install Software
mkdir [SOME DIRECTORY] mkdir [SOME DIRECTORY]/bin && mkdir [SOME DIRECTORY]/lib \ && mkdir [SOME DIRECTORY]/src mkdir -p [SOME DIRECTORY]/src/github.com/acm-uiuc
--- Add to .profile (.zshrc/.bashrc) ---
export GOPATH=[SOME DIRECTORY] #macOS export GOROOT=/usr/local/opt/go/libexec #Ubuntu 14.04+ export GOROOT=/usr/local/go export PATH=$PATH:$GOPATH/bin export PATH=$PATH:$GOROOT/bin
#macOS brew install go #Ubuntu 14.04+ sudo curl -O https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz sudo tar -xvf go1.7.linux-amd64.tar.gz sudo mv go /usr/local
- Add
groot
toGOPATH
ln -s [PATH to groot-deploy]/groot-api-gateway [SOME DIRECTORY]/src/github.com/acm-uiuc/groot-api-gateway
- Install groot dependecies
go get github.com/gorilla/mux go get github.com/boltdb/bolt go get github.com/kennygrant/sanitize go get github.com/acm-uiuc/arbor/server go get github.com/acm-uiuc/arbor/services go get github.com/acm-uiuc/arbor/security go get github.com/acm-uiuc/arbor/proxy go install github.com/gorilla/mux go install github.com/boltdb/bolt go install github.com/kennygrant/sanitize go install github.com/acm-uiuc/arbor/server go install github.com/acm-uiuc/arbor/services go install github.com/acm-uiuc/arbor/security go install github.com/acm-uiuc/arbor/proxy
- Install packages
go install github.com/acm-uiuc/groot-api-gateway/config go install github.com/acm-uiuc/groot-api-gateway/services
-
Node
- Install Software
#macOS brew install node #Ubuntu 14.04+ sudo apt-get install nodejs sudo apt-get install npm sudo apt-get install build-essential sudo apt-get update sudo apt-get install build-essential libssl-dev curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.sh bash install_nvm.sh source ~/.profile nvm install 7.2.0 nvm use 7.2.0 sudo npm install -g forever
-
Ruby
- Install Software
#macOS brew install rbenv #Ubuntu 14.04+ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev git clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc (~/.profile / ~/.zshrc) echo 'eval "$(rbenv init -)"' >> ~/.bashrc (~/.profile / ~/.zshrc) source ~/.bashrc (~/.profile / ~/.zshrc) git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build rbenv install 2.3.1 rbenv global 2.3.1 # You may have to restart your terminal session gem install bundler
-
Python
- Install Software
#macOS brew install python #Ubuntu sudo apt install python-pip
-
MySQL
- Install Software
#macOS brew install mysql mysqladmin -u root password 'yourpassword' mysql.server restart #Ubuntu 14.04+ sudo apt-get install mysql-server sudo apt-get install libmysqlclient-dev sudo mysqld --intialize mysql -u root mysql> CREATE DATABASE groot_recruiter_service; mysql> CREATE DATABASE acm_users; mysql> CREATE DATABASE groot_meme_service; mysql> CREATE DATABASE groot_quotes_service;
- Run the
dev_spinup.sh
script to start up a dev instance of groot (will grab the latest version of each service on github) - Run the
prod_spinup.sh
script to start a production version of groot (will grab the latest version of each and place them in their respective containers, so you will need docker)
repo sync