deploy.sh 1.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
# This is deploy script we use to update staging server
# You can always modify it for your needs :)

# If any command return non-zero status - stop deploy
set -e

echo 'Deploy: Stoping sidekiq..'
cd /home/git/gitlab/ && sudo -u git -H bundle exec rake sidekiq:stop RAILS_ENV=production

echo 'Deploy: Show deploy index page'
sudo -u git -H cp /home/git/gitlab/public/deploy.html /home/git/gitlab/public/index.html

echo 'Deploy: Starting backup...'
cd /home/git/gitlab/ && sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

echo 'Deploy: Stop GitLab server'
sudo service gitlab stop

echo 'Deploy: Get latest code'
cd /home/git/gitlab/

# clean working directory
sudo -u git -H git stash 

# change branch to 
sudo -u git -H git pull origin master

echo 'Deploy: Bundle and migrate'

# change it to your needs
sudo -u git -H bundle --without postgres

sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production

# return stashed changes (if necessary)
# sudo -u git -H git stash pop


echo 'Deploy: Starting GitLab server...'
sudo service gitlab start

sleep 10
sudo -u git -H rm /home/git/gitlab/public/index.html
echo 'Deploy: Done'