2.0.5 • Published 5 years ago

pm2-bashhook v2.0.5

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

Description

This is a fork from pm2-githook. The main difference is:

  • This version won't try to update the repository
  • This version only triggers for master branch OR the branch you specify in targetBranch entry.

Install

pm2 install pm2-bashhook

Configure

  • port (Defaults to 8888) : The port that will be used by the http server to receive hooks.
  • apps : Contains definition of applications in JSON :

    {
      "APP_NAME": {
        "secret": "supersecret",
        "prehook": "npm install --production && git submodule update --init",
        "posthook": "echo done",
        "service": "github"
      }
    }
    • APP_NAME is the name of the api in pm2 and in the url defined on github or gitlab (eg: : http://127.0.0.1:8888/APP_NAME).
    • secret is the secret you put in github/gitlab to verify that the transaction is made by github/gitlab. If you're using bitbucket you must enter bitbucket IP here
    • prehook is the shell command executed in the cwd (care of this) of the app after the pull and before the gracefullReload.
    • posthook is the shell command executed in the cwd (care of this) of the app after making the gracefullReload.
    • service is the service used to make the http call (github is the default)
      • github : you'll need to set the same secret as defined in github (can specify branch)
      • gitlab : you'll need to set the secret as the token defined in gitlab
      • jenkins : you'll need to set the secret as the ip of the jenkins (can specify branch)
      • bitbucket : secret not needed, bitbucket ip range is inside the code (can specify branch)
      • droneci : you'll need to set the secret to match the Authorization header defined inside the plugin (can specify branch)
    • nopm2 if set to true, we will not reload the application using pm2 (default to false)
    • cwd if provided we don't resolve the cwd using pm2 and will take this value (defaults to undefined)
    • targetBranch if provided only changes to this branch will trigger actions (defaults to master)

(can specify branch) mean that you can use a addional configuration to run the posthook on a specific branch

How to set these values ?

After having installed the module you have to type : pm2 set pm2-bashhook:key value

To set the apps option and since its a json string, i advice you to escape it to be sure that the string is correctly set (using this kind of tool).

e.g:

  • pm2 set pm2-bashhook:port 8080 (bind the http server port to 8080)
  • pm2 set pm2-bashhook:apps "{\"APP_NAME\":{\"secret\":\"supersecret\",\"prehook\":\"npm install --production && git submodule update --init\",\"posthook\":\"echo done\"}}"

Uninstall

`pm2 uninstall pm2-bashhook

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.9.7

5 years ago

1.9.6

5 years ago

1.9.5

5 years ago

1.9.4

5 years ago

1.9.3

5 years ago

1.9.2

5 years ago

1.9.1

5 years ago