git-refresher v0.1.1
Git Pulse
This tool will automatically pull the latest changes from a remote git repository and restart all PM2 processes after rebuilding the project.
Installation
npm i -g git-refresherOptionally, you can choose to install the utility locally to the project:
# Using NPM
npm i git-refresher
# Using Yarn
yarn add git-refresherUsage
You can use the CLI program directly using the following command:
git-refresherThis will check if the current branch is deploy and if it is out of sync with
origin/deploy. If it is, it will pull the latest changes and restart all PM2
processes.
You can also specify the branch if you want to use a different one other than
deploy:
git-refresher --branch mainAutomating with PM2 (global install)
Add this app to your pm2.json ecosystem file:
{
"apps": [
{
"name": "gitRefresher",
"script": "git-refresher",
"autorestart": false,
"cron_restart": "*/5 * * * *"
}
]
}This will have the program run every 5 minutes, but you can adjust the cron to any value you want.
Note: Because git-refresher will restart all PM2 processes, the script will run once
more after the app is repo is updated.
Automating with PM2 (local install)
If you've installed git-refresher locally to the project (not using npm i -g), then
you must add this app to your pm2.json ecosystem file instead:
{
"apps": [
{
"name": "gitRefresher",
"script": "npx",
"args": ["git-refresher"],
"autorestart": false,
"cron_restart": "*/5 * * * *"
}
]
}This uses npx instead to run git-refresher instead of running the globally installed bin.