-
Notifications
You must be signed in to change notification settings - Fork 3
Start scripts and hook configuration
Ahmed Hisham Ismail edited this page Mar 15, 2016
·
4 revisions
For use with Responder
Don't forget to replace content of angle brackets
pre_pull.sh
systemctl stop evaluator.service
exec sudo -i -u evaluator -H sh - << eof
cd evaluator
kill `cat </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.pid`
kill `cat </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.1.pid`
kill `cat </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.2.pid`
kill `cat </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.3.pid`
kill `cat </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.4.pid`
kill `cat </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.5.pid`
eof
~
~
pull.sh
exec sudo -i -u <user> -H sh - << eof
cd evaluator
git pull
bundle install
rbenv rehash
bundle exec rake db:migrate
cd client
npm install
npm run deploy
eof
post_pull.sh
chown -R nginx:nginx /srv/www
restorecon -R -v /srv/www
systemctl start evaluator.service
name=$(date '+%Y-%m-%d-%H-%M-%S')
exec sudo -i -u <user> -H sh - << eof
cd evaluator
tar -czf "$name.logs.tar.gz" log
truncate -s 0 log/production.log
truncate -s 0 log/sidekiq.log
truncate -s 0 log/sidekiq.1.log
truncate -s 0 log/sidekiq.2.log
truncate -s 0 log/sidekiq.3.log
truncate -s 0 log/sidekiq.4.log
truncate -s 0 log/sidekiq.5.log
truncate -s 0 log/thin.<port1>.log
truncate -s 0 log/thin.<port2>.log
truncate -s 0 log/thin.<port3>.log
truncate -s 0 log/thin.<port4>.log
nohup bundle exec sidekiq -c 1 -q default -L </absolute/path/to/evaluator/repo>/log/sidekiq.log -P </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.pid &
nohup bundle exec sidekiq -c 1 -q default -L </absolute/path/to/evaluator/repo>/log/sidekiq.1.log -P </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.1.pid &
nohup bundle exec sidekiq -c 1 -q default -L </absolute/path/to/evaluator/repo>/log/sidekiq.2.log -P </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.2.pid &
nohup bundle exec sidekiq -c 1 -q default -L </absolute/path/to/evaluator/repo>/log/sidekiq.3.log -P </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.3.pid &
nohup bundle exec sidekiq -c 1 -q default -L </absolute/path/to/evaluator/repo>/log/sidekiq.4.log -P </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.4.pid &
nohup bundle exec sidekiq -c 1 -q mailers -L </absolute/path/to/evaluator/repo>/log/sidekiq.5.log -P </absolute/path/to/evaluator/repo>/tmp/pids/sidekiq.5.pid &
eof
~
Hook config.json
{
"ah450/evaluator": {
"secret": "<gh hook secret>",
"pre_pull_script": "scripts/evaluator/pre_pull.sh",
"pull_script": "scripts/evaluator/pull.sh",
"post_pull_script": "scripts/evaluator/post_pull.sh",
"ref": "refs/heads/master"
}
}