LoginSignup
5
5

More than 5 years have passed since last update.

Vagrant Tips#8 gitをソースからコンパイルして利用する(centos)

Last updated at Posted at 2014-07-29

Vagrant Tipsのサマリページはこちら

この記事のサマリ

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を投稿いたします。

Vagrantfile
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
setup_git.sh
#!/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にデプロイしてそのまま動かしてみるといった事に、応用していきたいと思います。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5