diff --git a/README.md b/README.md index 4643205..132ee84 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,35 @@ # git-webhook-ci + Tool to automatize your deploy based on file write changes + ## Description + After some change is made in our listener file the script placed on path set on `env` variable called **WEBHOOK_SCRIPT_PATH** will be executed. ## Context + As a security risk that could be allow a webhook listener on a VPS for your git repository, I've decided to create this package which is a listener to file changes on write. This will trigger a bash script which you shold place on your server to run desired tasks. In my case I've done this to run a bash deploy command like - - git pull - - build - - move build to desired dir - - restart services like nginx or whatever + +- git pull +- build +- move build to desired dir +- restart services like nginx or whatever ## Installation + ### Requirements + - [Go version > 1.19](https://go.dev/dl/) - [GNU Make 4.3](https://www.gnu.org/software/make/) - [goreportcard-cli](https://github.com/gojp/goreportcard) - [golangci-lint](https://golangci-lint.run/) + ### Environment Vars + As shown in .env.example you have to configure this variables in order to make your binary works right: + ```.env SCRIPT_BINARY_PATH=/bin/bash WEBHOOK_SCRIPT_PATH=/path/to/mybashscript.sh @@ -30,17 +40,23 @@ TEST_FILE_TO_WATCH_PATH=./test_monitor.txt **TEST_FILE_TO_WATCH_PATH** is needed just to run tests ## How to use + ### Build + To build you can only just `make build` command + ```bash make build ``` ## Tests + ```bash make test-coverage ``` + output: + ```terminal coverage: 80.0% of statements ok gitea.urkob.com/urko/git-webhook-ci/internal/watcher 2.024s coverage: 80.0% of statements @@ -49,6 +65,7 @@ ok gitea.urkob.com/urko/git-webhook-ci/pkg/watcher 0.017s coverage: 100.0% ``` ## goreportcard + ```bash ➜ git-webhook-ci git:(main) ✗ make goreportcard oreportcard-cli -v @@ -61,4 +78,4 @@ gocyclo ............. 100% ineffassign ......... 100% license ............. 100% misspell ............ 100% -``` \ No newline at end of file +```