This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
REMOTE=play@SERVER_IP | |
REMOTE_APP=/home/play/PROJECT_NAME/ | |
sbt stage || exit 1; | |
rsync -va target/ $REMOTE:$REMOTE_APP/target; | |
ssh $REMOTE "cd $REMOTE_APP; ./stop.sh"; | |
ssh $REMOTE "cd $REMOTE_APP; ./start.sh"; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nohup ./target/universal/stage/bin/APPLICATION_SBT_NAME -Dhttp.port=9090 & | |
# You can provide all the -Dsettings you need to set for your application here :-) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
test -f RUNNING_PID && kill `cat RUNNING_PID` && sleep 5; | |
rm RUNNING_PID; |
- Put
deploy.sh
in the root of your (playframework) project - edit
deploy.sh
and set up the ssh access (REMOTE
) and the remote app directory (REMOTE_APP
). - On the server, create an empty directory at
$REMOTE_APP
and putstart.sh
andstop.sh
in it. - Optionally, edit the http port for convenience in
./start.sh
- run
./deploy.sh
and enjoy your deployment loop
- It does incremental upload (only upload what have change) with
rsync
. - It uses
sbt stage
which compile the application locally on your machine so you only needjava
on your server. - It kills the server before uploading and restarts it.
- It displays server log in your console at the end of the
deploy.sh
, you can Ctrl-C and it keep the server up.
- ssh authorized_keys is your friend.
- It uses
nohup
to keep the application running which is not perfect but works: Of-course there must be better tools, for maintaining play applications as UNIX daemons, this one was just fine for me :)
Now, Fork me if you want & DWTFYW