git als submodule eingebunden
This commit is contained in:
parent
706aa0bd2b
commit
2b9d859c51
@ -16,15 +16,12 @@ Nun kann die eigentliche Konfiguration per git heruntergeladen werden:
|
||||
|
||||
Wir legten in dieser Konfiguration das Repository {\tt lctp} an und gaben allen
|
||||
Benutzern Zugriff darauf. Die gitolite-Konfiguration befindet sich als
|
||||
Git-Submodule im Verzeichnis {\tt aufgabe4/gitolite-admin}. Das lctp-Repository
|
||||
wiederum lässt sich mit folgendem Befehl clonen:
|
||||
Git-Submodule im Verzeichnis {\tt aufgabe4/gitolite-admin}.
|
||||
Das lctp-Repository wiederum lässt sich mit folgendem Befehl clonen:
|
||||
|
||||
\shellcmd{git clone git@141.76.90.104:lctp.git}
|
||||
\shellcmd{git clone git@141.76.90.104:lctp.git lctp-gruppe4}
|
||||
|
||||
Die einzelnen Bereiche des Repositories können dann ausgecheckt werden:
|
||||
|
||||
\shellcmd{git checkout logs} \\
|
||||
\shellcmd{git checkout etckeeper}
|
||||
\shellcmd{cd lctp-gruppe4 \&\& git submodule init \&\& git submodule update}
|
||||
|
||||
\subsubsection{etckeeper}
|
||||
|
||||
@ -32,17 +29,14 @@ Um die Konfiguration in {\tt /etc } versionierbar und damit nachvollziehbar zu m
|
||||
|
||||
\shellcmd{yaourt -S etckeeper \&\& sudo etckeeper init}
|
||||
|
||||
\shellcmd{cd /etc/.git \&\& sudo git remote add git@localhost:lctp.git}
|
||||
\shellcmd{cd /etc/.git \&\& sudo git remote add git@zotac0:lctp.git}
|
||||
|
||||
Dieses legt ein {\tt git}-Repository in {\tt /etc/.git} an und erstellt Commits bei Änderungen in {\tt /etc}.
|
||||
Um die Konfiguration vom Bericht zu trennen, haben wir uns entschieden, {\tt
|
||||
etckeeper} in einen dedizierten Branch im {\tt lctp}-Repository pushen:
|
||||
etckeeper} in ein dediziertes Repository ({\tt logs}) pushen und als Submodule
|
||||
im {\tt lctp}-Repository einzubinden:
|
||||
|
||||
\shellcmd{sudo git push -u origin master:etckeeper}
|
||||
|
||||
Dieser Branch lässt sich auf folgender Weise auschecken:
|
||||
|
||||
\shellcmd{git checkout -b etckeeper origin/etckeeper}
|
||||
\shellcmd{sudo git remote add origin git@zotac0:etckeeper.git}
|
||||
|
||||
Anders als bei anderen Paketmanagern wie {\tt apt} auf Debian, existieren in {\tt pacman} (\ref{sec:pacman})
|
||||
keine Hooks.
|
||||
@ -53,6 +47,7 @@ welches im
|
||||
(Stand 07.11.2013)
|
||||
von {\tt etckeeper} liegt, als cronjob installiert (siehe
|
||||
\emph{aufgabe4/cron.daily/etckeeper}).
|
||||
|
||||
\subsubsection{Logs in git}
|
||||
|
||||
Arch Linux setzt in der Standard-Installation {\tt journald} als Logging-Daemon ein. Dieses benutzt im Unterschied zu herkömmlichen Syslog-Varianten ein Binärformat zum Speichern.
|
||||
@ -61,9 +56,6 @@ von git verwaltet zu werden. Deswegen haben wir zusätzlich {\tt syslog-ng}
|
||||
installiert und {\tt journald} so konfiguriert, das dieses ebenfalls in das syslog schreibt (siehe \emph{aufgabe4/journald.conf}).
|
||||
Für tägliche commits haben wir hierfür das Shell-Script {\tt git-commit-log}
|
||||
nach {\tt /etc/cron.daily/} installiert (siehe
|
||||
\emph{aufgabe4/cron.daily/git-commit-log}). Dieses pusht die Log-Dateien in den
|
||||
logs-Branch des lctp-Repository.
|
||||
|
||||
Dieser Branch lässt sich folgendermaßen auschecken:
|
||||
|
||||
\shellcmd{git checkout -b logs origin/log}
|
||||
\emph{aufgabe4/cron.daily/git-commit-log}). Dieses pusht die Log-Dateien in das
|
||||
logs-Repository. Es ist als Submodule im Verzeichnis {\tt logs} im
|
||||
lctp-Repository eingebunden.
|
||||
|
Loading…
Reference in New Issue
Block a user