express-git-puller
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.1 • Public • Published

    Express Git Puller

    Module to act as an express endpoint for receiving Github webhooks & running commands, e.g. for automatically pulling code from Git after pushing & restarting a pm2 app

    Prerequisites

    • The process directory should have git initalized
    • The git remote should also be configured
    • Also make sure to add any files you don't want to be overwritten to the .gitignore
    Install
    npm install --save express-git-puller
    Basic Server Example
    // Hello World Example from https://expressjs.com/en/starter/hello-world.html
    const express = require('express')
    const bodyParser = require('body-parser')
    const {Puller} = require('express-git-puller');
    const app = express()
    const port = 3000
    
    app.use(bodyParser.json()) // Required for validating the request
    
    // Register the puller middleware at the specified endpoint
    const puller = new Puller({
        events: ["push"], // Events to listen for (optional, since you can select them on Github as well - set to * to handle all events)
        secret: "SuperSecretSecret", // Set this to verify the request against the secret provided to github
        vars: {
            appName: "ExampleApp"
        }
    });
    app.use("/_my_git_endpoint", puller.middleware);
    
    app.get('/', (req, res) => res.send('Hello World!'))
    
    app.listen(port, () => console.log(`Example app listening at http://localhost:${ port }`))
    Github Webhook Example

    • Obviously use your project's public domain
    • Set Content type to application/json
    • (optional) Set a secret and add it to the puller config
    • (optional) Choose which events should be sent to the webhook - also make sure to change the puller config respectively

    Keywords

    none

    Install

    npm i express-git-puller

    DownloadsWeekly Downloads

    5

    Version

    2.1.1

    License

    MIT

    Unpacked Size

    35.2 kB

    Total Files

    20

    Last publish

    Collaborators

    • inventivetalent