構成管理にgitを使用するときのマシン固有の設定処理

構成管理にgitを使用するときのマシン固有の設定処理

私はしばらくシステム構成を管理するためにgit repoを使用してきました。 Digital Oceanチュートリアルのドキュメントを使用しました。ここ。私のサーバーにリモートリポジトリがほとんどありました。リポジトリのgit cloneを作成します。次に、ドットファイルとディレクトリをホームディレクトリにシンボリックリンクします。設定ファイルを変更したら、リモートリポジトリにgit pushするだけです。

私が経験している問題は、特定の構成の他のバージョンが必要であることです。たとえば、.i3blocksの設定は、家庭用ワークステーション、ラップトップ、またはワークコンピュータを使用しているかどうかによって異なります。私はgitに慣れていないので、この問題をどのように処理するのかわかりません。どんな提案がありますか?

ベストアンサー1

これは実際には子の問題ではありません。代わりに、構成ファイルの種類、他のファイルを読み取るためのオプション、システムごとにどのように異なるかを検討する必要があります。

たとえば、~/.bashrcホスト固有の設定を1行で読み取るデフォルトファイルがあるとしますsource

DOTFILES=~/.dotfiles
source $DOTFILES/$HOSTNAME.bashrc 

構成構文でこれらの操作を許可しない他のプログラムの場合、実際にはリポジトリーに異なるシステム用の複数のファイルがあり、適切なファイルのみを関連付ける必要があります。

ln -s ~/.dotfiles/i3blocks.$HOSTNAME ~/.i3blocks 

これを、git Hookによってトリガされるビルディングブロックからファイルをビルドするいくつかのスクリプトまたはいくつかのテンプレートメカニズムと組み合わせることもできます。

おすすめ記事