ec2上にデプロイしたnodejsプロジェクトの更新スクリプト


ec2上にnodeのプロジェクトをホストとしていて、gitのソースを更新して、JSのcompression等を行うgruntのtaskを流して、foreverでサーバーのバックグラウンド再起動を行うというステップが少々面倒だったので、シェルスクリプトを作りました。

シェルスクリプトといってもただコマンドを並べた超単純なものです。

#!/bin/sh
git reset --hard HEAD
git pull origin master
forever stopall
grunt product
forever start -c "npm start" .

gitのローカルのchangeをresetする -> pullする -> バックグラウンド起動中のサーバー停止 -> JSのcompressionなどビルド開始 -> サーバーのバックグラウンド起動

しかもこれ、iphoneでssh接続するアプリ使えばどこでもキックできるんで便利。
今使っているのはServerAutditorというsshコンソールアプリ。
https://itunes.apple.com/jp/app/server-auditor-ssh-console/id549039908?mt=8

こんな風にiphoneでdeploy用のユーザーでsshログインして、

写真 2014-06-29 20 00 28

deploy.shを発行。

写真 2014-06-29 19 59 02

サーバーの更新完了!便利!