# Simple Git Deploy This simple application provides automatic update of git repositories on your server. Triggered by a webhook (like the one from github), it can be very useful when you don't have (or don't want) a fully-fleged CI-Server to update your website. **Note:** The application currently runs only under linux-systems as it uses a bash-script to update. # Usage Usage is pretty simple. Simply configure the application via config.ini: ``` ssh_key=/path/to/deploy-key git_url=ssh://git@your-server.tld/gitproject.git deploy_dir=/path/to/deploy/dir container_name= secret= iamverySecret interface=":8080" branch_name=refs/heads/master ``` * **ssh_key:** Path to the Deploy-SSH * **git_url:** SSH-Path to your Git-Project * **deploy_dir:** The folder to which the updated version of your site will be deployed. You need write permissions. * **container_name:** If you run your site within a docker-container, the application can automatically restart the container for any changes to take effect. * **secret:** The Secret sent by the webhook - to prevent abuse * **interface:** The interface the server should listen on * **branch_name:** The name of the branch. If an update to this branch is triggered, the application will run the update. # Troubleshooting ### "error decoding response" Make sure the request is made with "application/x-www-urlencoded" ### Error 127 You recive an errormessage like this: ``` 2017/04/29 16:51:51 Recived payload, Secret: m3VScr9st09y , Ref: refs/heads/master 2017/04/29 16:51:51 Recived corresponding secret: m3VScr9st09y 2017/04/29 16:51:51 Starting update... 2017/04/29 16:51:51 exit status 127 ``` Make sure the `deploy.sh` exists in the same folder as your binary and is executable. ### Not Cloning - the script runs pretty fast but wont clone Check the permissions of your keyfile. They should be 600, otherwise the ssh-agent will ignore the keyfile and won't clone: ``` @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0664 for '/path/to/deploy-key' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. ```