cis-github
v1.0.1
Published
Web server for github webhooks
Readme
cis-github
Runs a small node webserver that listens to Github webhooks
and updates the local projects to the actual version.
A post-deploy script can also be used to finish a deployment after code has been updated.
You can specify multiple projects in config.json file.
CLi interface can be used to update project immediately.
Supported OS: windows, unix.
Install
npm i cis-github [-g]Run server
cis-github startUpdate project immediately
Usage:
cis-github REPO_MATCH [options]Options:
-h, --help Show help
-c, --config Config path
-q, --quiet Hide all console messages
Example:
cis-github pjhl/test --config=/projects/test/config.jsonwill update project "pjhl/test", described in /projects/test/config.json file.
Configuration example
To use default config file path, you can:
cp config/example_config.json config/config.jsonExample:
{
"server": {
"port": 3000,
"path": "/",
"secret": ""
},
"projects": {
"pjhl/test:refs/heads/master": {
"allowUsers": ["pjhl"],
"project_link": "https://github.com/pjhl/test.git",
"project_dir": "C:\\projects\\tmp\\1",
"execute": {
"win": "post-deploy.bat",
"unix": "post-deploy.sh"
}
},
"pjhl/test2:refs/heads/dev": {
"project_link": "https://github.com/pjhl/test2.git",
"project_dir": "C:\\projects\\tmp\\2"
}
}
}Section "server" is a github webhook configuration. You need to restart your server after changes their.
Section "projects" is a list of your projects. Key pattern:
"{githubUser}/{githubProject}:refs/heads/{branch}".
Skip allowUsers setting to allow the update to all users of the github.
Skip execute to not to run anything post-deploy scripts.
Post-deploy scripts
You can insert in your github project files post-deploy.bat and post-deploy.sh
(filenames can be changed) to run it automatically after succesful update.
Warnings
Do not modify your project's files on server directly (ex. FTP). They will be canceled when you start the next update
Use .gitignore for files that are generated by your
project (uploaded files, logs, temporary files, etc.)
License
MIT
