Rename ReadMe.md to README.md
This commit is contained in:
74
README.md
Normal file
74
README.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Github webhook scripts
|
||||
|
||||
These are scripts to setup the basic webhook folder structure,
|
||||
the clone base for one campaign and a simple crontab script to pull data from the repository
|
||||
|
||||
## Scripts
|
||||
|
||||
- base_setup.sh: setup for the folder structure, users, etc
|
||||
- new_clone.sh: Basic clone script
|
||||
- git_sync.sh: The script to run in crontab, to sync the changes
|
||||
|
||||
## Run commands
|
||||
|
||||
### Settings
|
||||
|
||||
in `config/webhook.cfg` the following settings have to be entered
|
||||
|
||||
```ini
|
||||
GIT_WEBHOOK_BASE_FOLDER="<BASE FOLDER>"
|
||||
WWW_GROUP="<APACHE GROUP NAME>"
|
||||
SUDO_USER="<SUDO USER NAME TO USE>"
|
||||
USE_SUDO=<1: use sudo, 0: no sudo used>
|
||||
```
|
||||
|
||||
The script will create the sudo user if needed automatically
|
||||
|
||||
### base_setup.sh
|
||||
|
||||
as is, if the folder exists it will only copy the scripts, will not alter or change anything.
|
||||
|
||||
Planned to get auto fixes for wrong ACL, etc or missing config settings
|
||||
|
||||
### new_clone.sh
|
||||
|
||||
Create a new clone
|
||||
|
||||
```sh
|
||||
new_clone.sh [repository] [branch] ([host]) ([remote name])
|
||||
```
|
||||
|
||||
The [host] is the SSH Host name entry, this sill repalce any "[host]:" in the [repository]. If the [host] is not set the host set in the [repository] will be used. If nothing found the script will abort
|
||||
|
||||
A [branch] name must be set all the time.
|
||||
|
||||
An optional [remote name] can be set, if not set "origin" will be used.
|
||||
|
||||
### git_sync.sh
|
||||
|
||||
Syncs changes, this is the script that should be placed into the crontab
|
||||
|
||||
```sh
|
||||
git_sync.sh [repository] [branch] ([remote name])
|
||||
```
|
||||
|
||||
The [repository] the the folder name inside the clone folder, on new clone it is output in the info line "... into (GIT REPOSITORY FOLDER)". All repository folders are in the "clone-base/" folder. The base folder is defined in the config/webhook.crf file.
|
||||
|
||||
A [branch] name must be set all the time.
|
||||
|
||||
An optional [remote name] can be set, if not set "origin" will be used.
|
||||
|
||||
All sync progress will be written to the log folder inside the base folder, the log file has the name of [repository]
|
||||
|
||||
Sample
|
||||
|
||||
```log
|
||||
[2025-07-04 16:06:31] [<uniq id>] [START] git merge <repository folder> <remote name>/<branch>
|
||||
[2025-07-04 16:06:31] [<uniq id>] Updating <sha>..<sha>
|
||||
<git inforation>
|
||||
[2025-07-04 16:06:31] [<uniq id>] [END]
|
||||
```
|
||||
|
||||
## TODO
|
||||
|
||||
Future versions will hold an incoming webhook handler and a polling scripts (systemd based)
|
||||
Reference in New Issue
Block a user