この記事のサマリ
gitをソースからビルドして、さくっとgitが利用できるスクリプトを紹介いたします。
対象読者
yumやapt-getでインストールしたgitは古いから、新しいものが使いたい方向け
動作確認バージョン
vagrant version
の結果
Installed Version: 1.7.4
経緯
「えっ、私のgit、古すぎっ!!!??」ってなったので。。。
gitをソースからコンパイルして利用する
一昔前は、svnやcvsなどの集中管理型のVCS(Version Control System)を利用して、開発をやることが多かったですが、最近ではソーシャルコーディングの流行という後押しもあり(?)、gitのような分散管理型のVCSを使うことが多いように感じます。
筆者がよく実験に利用しているcentOSでは、デフォルトではyumによるインストールができなかったため、ソースコードを取得して自動的にビルドしてgitを利用できる状態にするtipsを投稿いたします。
Vagrant::Config.run do |config|
config.vm.box = "centos64_6_5"
config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box"
config.vm.provision "shell", path: "setup_git.sh"
end
#!/bin/bash
GIT_TARGET_VERSION="git-2.7.1"
ARCHIVED_GIT_FILE_NAME="${GIT_TARGET_VERSION}.tar.gz"
GIT_URL="https://www.kernel.org/pub/software/scm/git/${ARCHIVED_GIT_FILE_NAME}"
echo "install git dependent libs..."
sudo yum install -y zlib-devel perl-devel gettext gcc curl-devel
echo "get git source..."
wget ${GIT_URL} -O /tmp/${ARCHIVED_GIT_FILE_NAME}
echo "decompress ${ARCHIVED_GIT_FILE_NAME}..."
tar -xvzf /tmp/${ARCHIVED_GIT_FILE_NAME} -C /tmp/
echo "git compile..."
cd /tmp/${GIT_TARGET_VERSION}
./configure
make
sudo make install
# create synbolic link /usr/bin/git to /usr/local/bin/git"
echo "create symbolic link to git..."
sudo ln -s /usr/local/bin/git /usr/bin/git
「vagrant ssh」などで、vagrant環境に接続後、
「git version」と入力して、「git version 2.7.1」のように表示されればOKです。
jdkやtomcatなど、実行環境の自動化とgitの組み合わせをうまく利用することで、gitから取得したソースコードをvagrantにデプロイしてそのまま動かしてみるといった事に、応用していきたいと思います。