Simple-Git-Deploy/Readme.md

60 lines
2.2 KiB
Markdown

# 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.
```