Jessica Lucci <> writes:

> Hey guys,
> I'm trying to set up a post-receive hook that redirects code based on
> the content of the actual push. Specifically, I'm trying to set up
> automatic deployment of web apps with the option of sending the code
> to a build farm first. For example, if you push your code to a git
> repo, there should be a post-receive hook in there that looks to see
> if /www is empty or something. If /www is empty, the app has yet to be
> "built", so the hook should push the code to a build farm that can
> compile the code into a WAR file (or whatever is appropriate). If /www
> is already populated, we assume the code has already been compiled and
> will then push the code directly onto the node.
> So, first of all, is this even possible?

Should be.

> And if so, how would I go about writing this specific hook?

By writing the necessary pieces and then stringing them together?

 - How do you see /www is empty?  That is one piece.  It is outside
   of the scope of "git", but it perhaps involves looking at the
   output of "ls /www" or something.

 - How do you know if the app "has yet to be built"?  That is
   another piece and depends on how your build infrasture is set
   up.  It is outside of the scope of "git".

 - How do you push the code to a build farm?  You would be using
   "git push $there $what", and presumably you know where $there is
   (the repository your build farm reads from).  $what is given as
   the input for post-receive hook, or you can read the tip of the
   ref you care about yourself, as your hook will run in the
   receiving repository of the push.

 - How do you push the code to a node?  That would be left as an
   exercise to the reader ;-), but would be similar to how you push
   to your build farm, I would imagine.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to