-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Victor Korir edited this page Feb 22, 2020
·
24 revisions
This is a quick and easy way to start developing GPPORGS using java, maven, and git on Mac. It uses maven's embedded-tomcat server and mysql database.
- A Mac or Windows PC running Windows 10 with admin permission
- JDK 8
- Maven 3.6+
- Git 2.20+
- Node v11.9+
For mac users, it may be easiest to use brew to install the dependencies.
$ brew install maven
$ brew install node
$ brew install git
...
- Download and install jdk, maven, git, and node. Set JAVA_HOME variable to point to your jdk, and add maven to your PATH.
Mac OSX:
(change below as needed and add in ~/.bash_profile)
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH="/usr/local/maven-3.3.9/bin":$PATH
(read the new settings)
$ source ~/.bash_profile
- Clone GPPORGS project
$ git clone https://github.com/vkorir/gpporgs.git
Cloning into 'gpporgs'...
remote: Reusing existing pack: ..., done.
remote: Counting objects: ..., done.
remote: Compressing objects: 100% (.../...), done.
remote: Total ... (delta ...), reused ... (delta ...)
Receiving objects: 100% (.../...), ... MiB | ... MiB/s, done.
Resolving deltas: 100% (.../...), done.
Checking connectivity... done
3 Install node dependencies
$ npm install
- Make gpporgs.sh script file executable
$ cd gpporgs
gpporgs $ chmod u+x gpporgs.sh
- Generate the client production files (this must be run before generating the war file)
$ cd client
gpporgs/client$ ng build --prod --base-href ./
- Generate deployable war file from the server
$ cd server
gpporgs/server$ mvn clean package
- If you made any changes to the tables structure, generate a new mysql dump
$ mysqldump -u [mysql username] -p --databases rateandreview_dev > rateandreview_dev.sql
- Copy the files to Blum server. If you don't have credentials email Lars ([email protected])
gpporgs/server$ scp rateandreview_dev.sql target/gpporgs.war [blum username]@blumweb1.berkeley.edu:/home/[blum username]
- ssh into the Blum server and replace the old files
gpporgs/server$ ssh [username]@blumweb1.berkeley.edu
[[blum username]@blumweb1 ~]$
- Find the pid of the currently running website and kill it before replacing the old files
[[blum username]@blumweb1 ~]$ sudo netstat -lntp | grep -w ':8080'
tcp 0 0 :::8080 :::* LISTEN [pid]/java
[[blum username]@blumweb1 ~]$ kill [pid]
- Replace mysql tables and data
[[blum username]@blumweb1 ~]$ mysql -u [mysql username] -p rateandreview_dev < rateandreview_dev.sql
- Replace the war file and restart the web server from the dev root directory
[[blum username]@blumweb1 ~]$ sudo cp gpporgs.war /project/eecs/blumcenter/www/gpporgs/dev/gpporgs.war
[[blum username]@blumweb1 ~]$ java -jar gpporgs.war |& tee -a /tmp/gpporgs.log &