Skip to content

a server that allows you to automatically deploy the latest version of your github project at each git push

License

Notifications You must be signed in to change notification settings

rejuvenate/Github-Auto-Deploy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is it?

This is a small HTTP server written in python.
It allows you to have a version of your project installed, that will be updated automatically on each Github push.

To set it up, do the following:

  • install python
  • copy the GitAutoDeploy.conf.json.example to GitAutoDeploy.conf.json. This file will be gitignored and can be environment specific.
  • enter the matching for your project(s) in the GitAutoDeploy.conf.json file
  • start the server by typing “python GitAutoDeploy.py”
  • to run it as a daemon add --daemon-mode
  • On the Github page go to a repository, then “Admin”, “Service Hooks”,
    “Post-Receive URLs” and add the url of your machine + port (e.g. http://example.com:8001).
  • Specify Content type as application/json

You can test hook delivery by clicking redeliver existing hook delieveries.

How this works

When someone pushes changes into Github, it sends a json file to the service hook url.
It contains information about the repository that was updated.

All it really does is match the repository urls to your local repository paths in the config file,
move there and run “git fetch”.

Additionally it runs a deploy bash command that you can add to the config file optionally.
Make sure that you start the server as the user that is allowed to pull from the github repository.

About

a server that allows you to automatically deploy the latest version of your github project at each git push

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%