/etc menedžments ar subversion (svn)

2009-09-11 09:07:25 UTC by maris in Linux, gentoo, Quick Tips,

Kas ir subversion visi zina :) Tā pielietojumu atradu arī /etc menedžēšanai, šad tad gribas redzēt kas kādam konfigam ko ir mainījis, un šad tad ir nepieciešams uztaisīt kādu izmaiņu rollback. Tiek izveidota repozitorija struktūra mkdir svnprep mkdir -p {branches,logs,trunk} svn import -m 'Initial import' svn://mansSVNservers/repozitorijs cd ../ rm -rf svnprep Tiek uztaisīta lokāla darba kopija svn co svn://mansSVNservers/repozitorijs/trunk /Configs cd /Configs Struktūra ir apmēram šāda: svn: ->branches ->logs ->trunk: --->all (konfigi kopēji visiem serveriem) --->$(hostname) (katra hosta individuālie konfigi) tālāk visi konfigi, kas ir vienādi visiem serveriem tiek pārnesti zem /Configs/all/etc/ un izveidots simlinks. mv /etc/make.conf /Configs/all/etc/ ln -s /Configs/all/etc/make.conf /etc/ konfigi, kas ir unikāli hostam tiek ienesti iekš /Configs/HOSTNAME tad jaunie faili tiek pievienoti pie svn un uztaisīts komits. pēc komita nostrādā post-commit hook, kas caur ssh uz katra servera izpilda 'svn update'. post-commit hooks #!/bin/sh hosts=`ls /Configs` for h in $hosts do ssh root@${h} "cd /Configs; svn update" done tādējādi izdarot izmaiņas uz viena hosta updeitojas visi hosti. Vienīgais priekšnoteikums ir tāds, ka autorizācija uz serveriem notiek ar ssh atslēgām bez paroles.

(0 komentāri)