I for my deployment start to using a new hook so I don't have to do and maybe forget about updating my Deployment. I got a big inspiration from this site Because I use node.js I always want to install all deps that I just added and also restart the pm2 process for that
#!/bin/sh
#
## store the arguments given to the script
read oldrev newrev refname
# The deployed directory (the running site)
DEPLOYDIR=/var/www/some/dir
# Number of pm2 process
NUM=1
echo '========post-update hook========='
echo "Starting Deploy"
echo " - Starting code update"
GIT_WORK_TREE="$DEPLOYDIR" git checkout -f
echo " - Finished code update"
if [ "$NUM" -gt "0" ];then
echo " - Starting npm install"
cd "$DEPLOYDIR"; npm install; cd -
echo " - Finished npm install"
echo " - Starting pm2 restart $NUM"
pm2 restart $NUM
echo " - Finished pm2 restart $NUM"
else
echo " - No npm install (only static content)"
echo " - No pm2 restart (only static content)"
fi