_var_lib_git_gogs-repositories_bryan_www.git_hooks_post-receive.sh 767 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env bash
  2. "/var/lib/git/gogs/gogs" hook --config='/var/lib/git/gogs/conf/app.ini' post-receive
  3. GIT_DIR="$(pwd)"
  4. TMP_GIT_DIR="/tmp/${GIT_DIR##*/}"
  5. if [[ ! -d "${TMP_GIT_DIR}" ]]; then
  6. git clone "${GIT_DIR}" "${TMP_GIT_DIR}"
  7. cd "${TMP_GIT_DIR}" || exit $?
  8. else
  9. cd "${TMP_GIT_DIR}" || exit $?
  10. unset GIT_DIR
  11. git fetch --all
  12. git reset --hard origin/master
  13. git pull
  14. fi
  15. for site in *.*/; do
  16. deploy_dir="/var/www/${site}"
  17. if [[ ! -d "$deploy_dir" ]]; then
  18. mkdir -p "$deploy_dir"
  19. chgrp -R "$deploy_dir"
  20. chmod g+s "$deploy_dir"
  21. fi
  22. pushd "${site}" || exit $?
  23. ruby -S bundle install --deployment
  24. ruby -S bundle exec jekyll build --destination "$deploy_dir"
  25. popd || exit $?
  26. done
  27. exit 0