-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwercker-box.yml
90 lines (80 loc) · 2.65 KB
/
wercker-box.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
name: exchangegroup
version: 0.0.26
inherits: wercker/ubuntu12.04-webessentials@0.0.12
type: main
platform: ubuntu@12.04
description: "Ruby 2.1, node.js, sphinx, qt5, karma, phantomjs, geocitylite."
packages:
- ruby@2.1
- mysql@5.5
- nodejs@0.10.17
- sphinxsearch@2.0.8
- phantomjs@1.9.1
- qt@5.0
keywords:
- ruby
- mysql
- nodejs
- sphinxsearch
- karma
script: |
sudo apt-get update
# Do karma & npm & phantomjs first, as they use qt4. We switch to qt5 later.
# phantomjs
wget https://phantomjs.googlecode.com/files/phantomjs-1.9.2-linux-x86_64.tar.bz2
tar xfj phantomjs-1.9.2-linux-x86_64.tar.bz2
sudo cp phantomjs-1.9.2-linux-x86_64/bin/phantomjs /usr/local/bin
# node.js
export NODEVERSION=0.10.22
sudo apt-get install -y wget build-essential
cd $HOME
mkdir nodeinstall
cd nodeinstall
wget http://nodejs.org/dist/v$NODEVERSION/node-v$NODEVERSION.tar.gz
tar xzf node-v$NODEVERSION.tar.gz
cd node-v$NODEVERSION
./configure
make
sudo make install > /dev/null
cd $HOME
rm -fr nodeinstall
node -v
# karma
sudo apt-get install -y libqt4-dev qt4-qmake
sudo npm install -g karma-jasmine karma-junit-reporter karma-phantomjs-launcher karma-coffee-preprocessor karma-cli
# qt5
sudo apt-get install -y python-software-properties
sudo apt-add-repository -y ppa:ubuntu-sdk-team/ppa
sudo apt-get update
sudo apt-get install -y qtdeclarative5-dev qt5-default libqt5webkit5-dev
# ruby
sudo apt-get install -y git zlib1g-dev libreadline-dev
sudo apt-get remove ruby1.9.1
wget "https://s3-ap-southeast-2.amazonaws.com/apt.teg.io/pool/r/ru/ruby_2.1.0.0%252Bfpm0_amd64.deb"
sudo dpkg -i ruby_2.1.0.0%2Bfpm0_amd64.deb
sudo gem update --system
sudo gem install bundler --no-ri --no-rdoc
# mysql
sudo apt-get purge mysql-server
sudo apt-get purge mysql-common
sudo rm -rf /var/log/mysql
sudo rm -rf /var/log/mysql.*
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo apt-get install -y mysql-server --fix-missing --fix-broken
sudo apt-get install -y mysql-server-5.5 libmysqlclient-dev
echo "[mysqld]" > my.cnf
echo "innodb_flush_log_at_trx_commit = 0" >> my.cnf
echo "innodb_buffer_pool_size = 512M" >> my.cnf
sudo cp my.cnf /etc/mysql/conf.d/local.cnf
sudo restart mysql
# sphinx
wget http://sphinxsearch.com/files/sphinxsearch_2.0.8-release-0ubuntu11~precise1_amd64.deb
sudo dpkg -i sphinxsearch_2.0.8-release-0ubuntu11~precise1_amd64.deb
# jshint
sudo npm install -g jshint
# GeoCityLite database
curl -O http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
sudo mkdir -p /usr/share/GeoIP
sudo cp GeoLiteCity.dat /usr/share/GeoIP