#!/usr/bin/env rake require 'open-uri' def elasticsearch_development return ENV["ELASTICSEARCH_DEVELOPMENT"].nil? end desc "download elasticsearch" task :download do unless File.exists? '/tmp/elasticsearch.deb' puts "downloading elasticsearch Debian package..." download = open('https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.deb') IO.copy_stream(download, '/tmp/elasticsearch.deb') end end desc "install elasticsearch" task :install => :download do sh 'sudo apt-get install openjdk-7-jdk' sh 'sudo dpkg -i /tmp/elasticsearch.deb || sudo apt-get install -f' end desc "start elasticsearch" task :start do if not system 'sudo systemctl start elasticsearch > /dev/null' Rake::Task['install'].invoke end puts "Enable Elasticsearch service" if elasticsearch_development sh 'sudo systemctl start elasticsearch >> /dev/null 2>&1' sh 'sudo systemctl enable elasticsearch >> /dev/null 2>&1' sleep 10 end end desc "stop elasticsearch" task :stop do puts "Disable elasticsearch service" if elasticsearch_development sh 'sudo systemctl stop elasticsearch >> /dev/null 2>&1' sh 'sudo systemctl disable elasticsearch >> /dev/null 2>&1' end end