-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathprovision.sh
82 lines (73 loc) · 2.55 KB
/
provision.sh
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
#!/bin/bash
install_dependencies() {
echo 'installing dependencies...'
cd /home/vagrant/
sudo apt-get update
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get install -y git nginx nodejs unzip
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
sudo apt-get install -y oracle-java8-installer oracle-java8-set-default
wget https://services.gradle.org/distributions/gradle-2.2.1-bin.zip
unzip gradle-2.2.1-bin.zip
sudo chown -R vagrant:vagrant gradle-2.2.1/
}
clone_backend() {
echo 'cloning backend...'
cd /home/vagrant/
git clone https://github.com/techdev-solutions/trackr-backend.git
sudo chown -R vagrant:vagrant trackr-backend/
}
build_backend() {
echo 'building backend...'
cp /vagrant_share/application_dev.properties /home/vagrant/trackr-backend/src/main/resources/
cd /home/vagrant/trackr-backend/
export GRADLE_OPTS="-Xmx512m"
su vagrant -c "/home/vagrant/gradle-2.2.1/bin/gradle build"
}
setup_tomcat() {
echo 'setting up tomcat...'
cd /home/vagrant/
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.15/bin/apache-tomcat-8.0.15.tar.gz
tar -xzvf apache-tomcat-8.0.15.tar.gz
cp /vagrant_share/tomcat-users.xml /home/vagrant/apache-tomcat-8.0.15/conf/
cp /vagrant_share/setenv.sh /home/vagrant/apache-tomcat-8.0.15/bin/
sudo chown -R vagrant:vagrant apache-tomcat-8.0.15/
rm -r /home/vagrant/apache-tomcat-8.0.15/webapps/ROOT/
mv /home/vagrant/trackr-backend/build/libs/trackr-1.0_0.war /home/vagrant/apache-tomcat-8.0.15/webapps/ROOT.war
}
clone_frontend() {
echo 'cloning frontend...'
cd /home/vagrant/
git clone https://github.com/techdev-solutions/trackr-frontend.git
sudo chown -R vagrant:vagrant trackr-frontend/
}
build_frontend() {
echo 'building frontend...'
cd /home/vagrant/trackr-frontend/
sudo npm update
sudo npm install -g grunt-cli bower karma
su vagrant -c "grunt dist"
su vagrant -c "bower install --config.interactive=false"
}
setup_nginx() {
echo 'setting up nginx proxy...'
cp /vagrant_share/trackr.conf /etc/nginx/sites-available/
cp /vagrant_share/nginx.conf /etc/nginx
rm /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/trackr.conf /etc/nginx/sites-enabled/
}
start_trackr() {
echo 'starting trackr...'
sudo nginx
su vagrant -c "/home/vagrant/apache-tomcat-8.0.15/bin/startup.sh"
}
install_dependencies
clone_backend
build_backend
setup_tomcat
clone_frontend
build_frontend
setup_nginx
start_trackr