cis-github

1.0.1 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i cis-github

Weekly Downloads

2

Version

1.0.1

License

MIT

Last publish

Collaborators

  • pjhl