パスが通ってない状態から呼び出すので
なぜか情報も少ないしいつもよくわかんなくなってごちゃごちゃします。
OS : Amazon Linux release 2 (2017.12) LTS Release Candidate
インストール場所を確認する
whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
whereis node
node: /home/ec2-user/.nvm/versions/node/v8.9.4/bin/node
whereis gulp
gulp: /home/ec2-user/.nvm/versions/node/v8.9.4/bin/gulp
whereis forever
forever: /home/ec2-user/.nvm/versions/node/v8.9.4/bin/forever
gitからコードを持ってくる
cd /home/ec2-user/someApp/;
/usr/bin/git pull;
globalのパッケージもnodeから呼び出す。これ大事
/home/ec2-user/.nvm/versions/node/v8.9.4/bin/node /home/ec2-user/.nvm/versions/node/v8.9.4/bin/gulp build;
/home/ec2-user/.nvm/versions/node/v8.9.4/bin/node /home/ec2-user/.nvm/versions/node/v8.9.4/bin/forever start /home/ec2-user/someApp/dist/child.js;
babel使ってるのでgulp buildが入り実行がsomeApp/dist/child.jsになってます。
start.shとかに書いてcronから実行
crontab -e
@reboot /home/ec2-user/start.sh