Benutzer-Werkzeuge

Webseiten-Werkzeuge


git:all-inkl:post_receive

Git-Hook "post-receive"

Mit dem folgendem GIT-Hook „post-receive“ ist es möglich, das Repository nach einem Push automatisch in einem Verzeichnis zu veröffentlichen. Dabei können verschiedene Branches in verschiedenen Verzeichnissen veröffentlicht werden.

#!/bin/bash
while read oldrev newrev ref
do
  branch=`echo $ref | cut -d/ -f3`
 
  if [ "master" == "$branch" ]; then
	GIT_WORK_TREE=/www/htdocs/wXXXXXXX/master git checkout -f $branch
    echo 'changes pushed to master'
  fi
 
  if [ "dev" == "$branch" ]; then
	GIT_WORK_TREE=/www/htdocs/wXXXXXXX/dev git checkout -f $branch
    echo 'changes pushed to dev'
  fi
done

"post-receive" in Ubuntu anlegen

Nachdem ein neues GIT-Projekt angelegt wurde, ist unter anderem das Verzeichnis „hooks“ bereits vorhanden. So kann die Datei oben aufgeführte Datei im Verzeichnis „hooks“ angelegt werden:

  • cd projektname/.git/hooks
  • nano post-receive
  • [INHALT VON OBEN MIT RECHTER MAUSTASTE EINFUEGEN]
  • [STRG] + O
  • [RETURN]
  • [STRG] + X
  • chmod 755 post-receive (Wichtig: Rechte zum Ausführen auf das Verzeichnis setzen!!)
git/all-inkl/post_receive.txt · Zuletzt geändert: 2025/08/23 15:35 von webproducer