cron-git-updater

0.0.7 • Public • Published

Cronjob Update Git

Git clone a repo into a folder and schedule a cron job to pull updates from the remote origin.

Installation

npm install cron-git-updater

Usage

const CGU = require('cron-git-updater')

// const CGU_Config = {
//   repository: 'github or gitlab link',
//   branch: 'main',
//   fromReleases: false,
//   token: 'for private repository',
//   tempLocation: '../history',
//   ignoreFiles: [''],
//   keepAllBackup: true,
//   testing_dir: 'testing',
//   executeOnComplete: './run-on-update.sh',
//   exitOnComplete: false,
// }

const newUpdater = new CGU({
  repository: 'https://gitlab.com/mikesaraus/expsql_rtapi.git',
  branch: 'development',
  tempLocation: '../history',
})

// Schedule a task to update the repository
// It uses .update() function
// Check is performed and won't update if same version
newUpdater.schedule('0 0 * * *', 'Asia/Manila')

// Call the updater manually
// It first check for internect connection
// Then check if local version does not match
// from remote version
newUpdater.update()

// Call the updater manually and force update
// No check is done it will force to use
// the remote version of the app
newUpdater.forceUpdate()

API

.schedule(cron_syntax, timezone)

Task scheduler based on timezone

Params

  • cron_syntax - Schedule when the task should run. e.g. '0 0 * * *' (schedule every 12am)
# ┌────────────── second (optional)
# │ ┌──────────── minute
# │ │ ┌────────── hour
# │ │ │ ┌──────── day of month
# │ │ │ │ ┌────── month
# │ │ │ │ │ ┌──── day of week
# │ │ │ │ │ │
# │ │ │ │ │ │
# * * * * * *
  • timezone - The timezone that is used for job scheduling. Default is Asia/Manila

.update()

Update the repository

Some check is performed to insure success

  • Check if machine has active internet connection
  • call .compareVersions() if update is needed

.compareVersions()

Compare check local version and remote version

.readAppInfo()

Read local app package.json

.readRemoteInfo()

Read remote repository package.json

.remoteDownload()

Download remote repository

.forceUpdate()

Force update the local project from remote repository

Readme

Keywords

Package Sidebar

Install

npm i cron-git-updater

Weekly Downloads

0

Version

0.0.7

License

MIT

Unpacked Size

23.9 kB

Total Files

3

Last publish

Collaborators

  • mikesaraus