CentOSにJenkinsとSubversionをインストールする

『Jenkins実践入門』を参考にJenkinsのインストールを実施しました。インストールした環境はCentOS6.3です。CentOS6.3自体はOSX Mavericks上にVagrantで作成した仮想マシンです。また、『Jenkins実践入門』ではSubversionのインストールにCollabNetのSubversion Edgeを使用していますが、今回は個別にSubversionをインストールしてApacheで公開するようにしました。

アウトライン

  • 仮想マシン(CentOS 6.3)の準備
  • Jenkinsのインストールと設定
  • Subversionのインストールと設定

1. 仮想マシン(CentOS 6.3)の準備

vagrantでCentOS 6.3の仮想マシンを作成します。

# Boxの追加
$ vagrant box add cenos63 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box

# 仮想マシンの初期化
$ mkdir vagrant
$ cd vagrant
$ vagrant init centos63

# 仮想マシンの起動
$ vagrant up

2. Jenkinsのインストールと設定

仮想マシンにログインしてJenkinsをインストールします。yum install jenkinsを実行する前にOpenJDKのインストールとJenkinsのRPMパッケージの公開鍵のインストールが必要です。

Jenkinsのインストールが終わったらホストマシンから仮想マシンのJenkinsに接続するための設定を行います。

作成した仮想マシンにログインします。

$ vagrant ssh

OpenJDKをインストールします。

$ sudo yum install java-1.6.0-openjdk

Jenkins RPMパッケージの公開鍵をインストールします。

$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

Jenkinsをインストールします。

$ sudo yum install jenkins

Jenkinsのデーモンを起動します。

$ sudo /sbin/service jenkins start

動作確認のためファイアウォールを無効にします。

# iptablesの停止
$ sudo /etc/init.d/iptables stop

# OS起動時にiptablesが起動しないようにする
$ chkconfig iptables off

仮想マシンからログアウトします。

$ exit

ホストマシンのブラウザから仮想マシンのJenkinsに接続するために仮想マシンのネットワークアダプタを設定します。Vagrantfileを開いて下記の行を追加します。

Vagrant::Config.run do |config|
  ...
  config.vm.forward_port 8080, 18080
  ...
end

上記の設定でホストマシンのポート18080への接続を仮想マシンの8080へ転送します。

仮想マシンを再起動します。

vagrant reload

再起動が完了したらホストマシンのブラウザでhttp://localhost:18080/に接続し、Jenkinsのトップページが表示されることを確認します。

3. Subversionのインストールと設定

まずSubversion、Apache、mod_dav_svnをまとめてインストールします。その後Subversionのリポジトリを作成し、Apacheを設定してホストマシンからの接続を試します。

仮想マシンにログインします。

$ vagrant ssh

Subversion、Apache、mod_dav_svnをインストールします。yumの-yオプションは(yes/no)を無条件でyesにするオプションです。

$ sudo yum -y httpd subversion mod_dav_svn

Subversionのリポジトリを作成します。

$ sudo mkdir /var/www/svn
$ svnadmin create /var/www/svn/sample
$ svn mkdir file:///var/www/svn/sample/trunk file:///var/www/svn/sample/tags file:///var/svn/sample/branches -m 'first commit.'
$ chown -R apache:apache /var/www/svn

/etc/httpd/conf.d/subversion.confを編集します。下記の設定を追加します。

<Location /Repos>
    DAV svn
    SVNParentPath /var/www/svn
</Location>

Apacheを起動します。

# apacheの起動
$ sudo /etc/init.d/httpd start

# OS起動時にapacheが起動するようにする
$ sudo chkconfig httpd on

仮想マシンからログアウトします。

$ exit

ホストマシンのブラウザから仮想マシンのSubversionに接続するために仮想マシンのネットワークアダプタを設定します。Vigrantfileを開いて下記の行を追加します。

Vagrant::Config.run do |config|
  ...
  config.vm.forward_port 80, 18081
  ...
end

仮想マシンを再起動します。

vagrant reload

再起動が完了したらホストマシンのブラウザでhttp://localhost:18081/repos/sampleに接続し、Subversionのリポジトリが表示されることを確認します。

とりあえずこれで『Jenkins実践入門』の「第2章 インストールと設定」相当のJenkins+Subversion環境ができました。

{% amazon text 4774148911 %}

{% amazon medium_image 4774148911 %}