Skip to main content

Monitor a git repository, execute a command when it changes. Basically a polling git-hook for pull.

Project description

Monitor a git repository, execute a command when it changes. Basically a polling git-hook for pull.

purpose

Execute a chain of command when a git-repository changes

use case

Run testsets and build docker container after commit [change detected] * Run a testset * Build a docker container * Push to registry

requirements

pip install -r requirements.txt

use

reposmon.py

Monitor a git repository, execute a command when it changes.

Usage:
    reposmon.py [options] [--] [<giturl> <command>]
    reposmon.py -h | --help

Options:
  -h --help                   Show this screen.
  -o --once                   Run only once.
  -v --verbose                Verbose mode.
  -w --write=<writeymlpath>   Write arguments yaml file.
  -l --load=<loadymlpath>     Load arguments yaml file.
  -i --interval=<interval>    Seconds between checks [default: 60].
  -g --gitfolder=<gitfolder>  Folder to check the git repos out [default: .].
  -c --cmdfolder=<cmdfolder>  Folder from where to run the command [default: .].

example

When in local directory or work-directory changes, execute the command in the local directory or command-directory.

python reposmon.py git@github.com:erikdejonge/reposmon.git "docker build ."

optional

bash alias

alias reposmon=”~/[…]/reposmon/reposmon.py

install alias with a workspace checkout of reposmon:

alias reposmon="/Users/rabshakeh/workspace/reposmon/reposmon.py"

commit and sort aliases on osx

On osx the sortalias command sorts all aliasses in .bash_profile

alias sortalias='cat ~/.bash_profile > ~/.bash_profile.backup; cat ~/.bash_profile | grep -v alias | grep -v '\''^$'\'' > ~/.bash_profile_without_alias; alias | grep -v '\''^$'\'' > ~/.bash_profile_only_alias; cat ~/.bash_profile_without_alias > ~/.bash_profile; echo -e '\''\n'\'' >>  ~/.bash_profile; cat ~/.bash_profile_only_alias >>  ~/.bash_profile; rm ~/.bash_profile_without_alias; rm ~/.bash_profile_only_alias'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reposmon-32.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file reposmon-32.tar.gz.

File metadata

  • Download URL: reposmon-32.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for reposmon-32.tar.gz
Algorithm Hash digest
SHA256 5cb694bdeff7cc2f8244f3f8073de6fc2d989b3dbc923fec0dc224bc4c608987
MD5 760fa895edcc1a34fa67cb6a2018ebab
BLAKE2b-256 45db27e2e9c5b60aadd889607c4e1765f95abdb3543de99c30325ede52d5c81a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page