cis-github
v1.0.1
Published
Web server for github webhooks
Downloads
4
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 start
Update 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.json
will 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.json
Example:
{
"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