GIT
(man 1 git
)
is used to publish meta-data and to log operations
performed on these files.
There is one gitbare repository for each server one each host.
This repository handle one module for the local server’s meta-data,
and one for each collection on the “master” servers only.
Remote servers access the “master” (or so called “bare”) GIT collection’s repository by using Ssh (see Ssh).
The Apache (see Apache) configuration files and the Ssh’s
public keys are also distributed among servers using GIT.
The GIT configuration and collection modules are setup respectively by init-remove-purge (see init-remove-purge) and new-free-clean (see new-free-clean) scripts.
Process conceptual model:
$ git init --bare
$ git config
from init-remove-purge (see init-remove-purge) or new-free-clean (see new-free-clean): initialise a GIT repository.
$ git clone
from new-free-clean (see new-free-clean): checkout a GIT collection module.
$ git config
$ git commit
$ git pull
$ git push
from upgrade-commit-pull-push (see upgrade-commit-pull-push): synchronise a GIT module.
Synchronise the meta-data files between servers.
$ ssh
to Ssh (see Ssh): access the GIT bare repository.
The GIT bare repositories
The GIT cloned modules.
The configuration of the client repository is manage by MEDIATEX upgrade (see Scenario E).
Code: