CentOS(例えば 6.9 など)で yum から Git をインストールすると,普通に Git 1.x になってしまうので,Chef 公式クックブックを使って Git 2.x をインストールできるようにした.基本的には GitHub を見ればわかるけど,自分用にメモを残しておく.
$ git --version
git version 1.7.1
git::source
Git Cookbook で Git をインストールする場合,大きく以下の2種類のレシピがある(Windows は除く).デフォルトは git::package
になっているけど,今回は Git 2.x をインストールするため git::source
を使うことにした.
git::package
git::source
git::source
を使う場合,デフォルト設定が attributes に入っているので,レシピに以下のように書くだけで,簡単にインストールできてしまう.
include_recipe 'git::source'
なお,master ブランチの attributes だと,Git 2.9.5 に固定されている.
$ git --version
git version 2.9.5
任意のバージョンを指定する
現時点だと Git 2.16.2 が最新なので,attributes/default.rb
に以下の設定を追加すれば,インストールすることができる.
default['git']['version'] = '2.16.2' default['git']['checksum'] = 'cbdc2398204c7b7bed64f28265870aabe40dd3cd5c0455f7d315570ad7f7f5c8'
正常にインストールすることができた.
$ git --version
git version 2.16.2
attributes/default.rb
にバージョンを指定するだけだと Chef::Exceptions::ChecksumMismatch
でエラーになってしまうので,チェックサムも変更する.ただし,チェックサムは自分で計算する必要があるので,git のリリースバイナリをダウンロードして shasum -a 256
を実行する.
実際に Git 2.9.5 と Git 2.16.2 のチェックサムは以下のように確認することができる.
$ shasum -a 256 git-2.9.5.tar.gz 88995ab18154fa302478d33efa4418d354a5e592645ebef02c69b3dd76b526c1 git-2.9.5.tar.gz $ shasum -a 256 git-2.16.2.tar.gz cbdc2398204c7b7bed64f28265870aabe40dd3cd5c0455f7d315570ad7f7f5c8 git-2.16.2.tar.gz