【Ruby版】CIツール導入ガイド 第5回
Jenkins は Javaで開発された、よく利用されているCIツールだ。今回は Jenkins をインストールし、実際に CIサーバーを構築してみよう。
インストール環境
Jenkins はさまざまな環境にインストール可能だが、今回は CentOS7 を利用する事にした。まずはCentOS7 を minimal インストールしたサーバーを用意して欲しい。もちろん仮想マシンでも構わない。ただし、インストール時にかなりのメモリを消費するので、最低でも8GB 程度のメモリを利用可能な環境を用意して頂きたい。AWS を利用するなら、 t2.large 程度がお勧めだ。HDD容量は今回の検証だけなら20GBもあれば十分だ。
ツール類のインストール
まずは Jnekins や Ruby, git等を動作させるに当たり必要な yumパッケージをインストールしておきたい。
sudo yum install -y git bzip2 gcc libffi-devel zlib-devel openssl-devel readline-devel
Jenkinsのインストールと起動
Jenkins は標準の yum リポジトリには含まれていないので、まずは Jenkins のリポジトリを登録する。以下の手順を実行しよう。
sudo curl http://pkg.jenkins-ci.org/redhat/jenkins.repo > /etc/yum.repos.d/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
次に Java と Jenkins をインストールする。
yum install -y java-1.8.0-openjdk yum install -y jenkins
インストールは数秒で完了すると思うので、完了したらサービスを起動しよう。
sudo systemctl start jenkins
リポジトリの初期化
このサーバーは CI サーバーとして利用するが、リポジトリサーバーも兼用する事にしよう。git のリポジトリを作成し、別のマシンからSSHでログインできるようにしておきたい。まずはログインさせたいユーザーのSSH公開鍵を準備し、それを /tmp/user1.key に保存しておこう。準備ができたら以下の手順でリポジトリを初期化する。
sudo git init --bare /var/lib/sample.git sudo adduser git sudo chown -R git:git /var/lib/sample.git sudo mkdir /home/git/.ssh sudo cat /tmp/user1.key >> /home/git/.ssh/authorized_keys sudo chown -R git:git /home/git/.ssh sudo chmod 700 /home/git/.ssh sudo chmod 600 /home/git/.ssh/authorized_keys sudo echo /usr/bin/git-shell >> /etc/shells sudo chsh -s /usr/bin/git-shell git
うまく行けば、以下の手順でリポジトリのクローンを作成できるようになるはずだ。
git clone git@<サーバー名、またはIPアドレス>:/var/lib/sample.git
WEB画面からのセットアップ
次にWEB画面に移動して、必要な設定を行なおう。以下の Jenkins はデフォルトで 8080ポートを利用するので、以下の URLにアクセスして頂きたい。
http://<サーバー名、またはIPアドレス>:8080
初期化には少々時間がかかる。サービス起動直後にアクセスすると、以下のような画面になるかも知れない。
その場合は何もしないでしばらく待っていて欲しい。数分程度で以下の画面に移動するはずだ。
画面の指示に従い、/var/lib/jenkins/secrets/initialAdminPassword の内容を入力し「Continue」をクリックしよう。すると最初にインストールするプラグインを選択する画面に移動する。
“Install guggested plugins” をクリックし、しばらく待っていて頂きたい。以下のような画面が表示されプラグインのインストールが行われていく様子が表示されるだろう。
次にログインユーザーの作成画面に移動する。必要な情報を入力して欲しい。
次はURLの設定である。リバースプロキシサーバー等を利用している場合には適切な設定が必要かも知れない。通常は変更する必要が無いので、何も変更せずに画面右下の「Save and Finish」をクリックしよう。
これでセットアップは完了だ。以下の画面が表示されるので、「Start using Jenkins」をクリックしよう。
この後、本来なら以下のような画面が表示される。
しかし、環境によっては真っ白な画面のまま何も表示されない場合がある。その時は Jenkins のサービスを再起動するといいようだ。真っ白な画面が表示されてしまったら、コンソール画面で以下のコマンドを実行しよう。
sudo systemctl stop jenkins sudo systemctl start jenkins
Jenkins を再起動してブラウザをリロードすると、準備中の画面が表示されるはずだ。その後しばらくまつと、以下のようにダッシュボードが表示される。
rbenvプラグインの設定
次に Jenkins からRubyの環境管理ツール rbenv を利用できるようにしておこう。左メニューから「Jenkinsの管理」をクリックすると、以下の画面に移動する。
さらに「プラグインの管理」をクリックしてプラグインをインストールしたり更新したりする画面に移動しよう。移動したら「利用可能」タブをクリックし、画面右上の「フィルター」に”rbenv” と入力して欲しい。以下の画面のように、rbenvプラグインが表示されるはずだ。
行内の左のチェックボックスをチェックし「再起動せずにインストール」をクリックして欲しい。以下の画面のようにプラグインのインストールが始まるはずなのでしばらく待って欲しい。
まとめ
ここまでで構築作業は完了だ。次回は検証用のプロジェクトを作成し、実際に動作させてみよう。
次回
社内サーバにリモートリポジトリを作るのも一つですが、「開発にまつわる面倒事」をこの際全部、tracpath(トラックパス)に任せてみませんか?
バージョン管理サービス・プロジェクト管理サービスの「tracpath(トラックパス)」では、
ユーザー5名、リポジトリ数3つまで、無料で利用可能です。
さっそく実務でも使って見ましょう。
自らも開発を行う会社が作ったからこそ、開発チームの「作る情熱」を支える、やるべきことに集中出来るサービスになっています。
エンタープライズ利用が前提のASPサービスなので、セキュリティも強固です。