TECH

開発の自動化を促進するJenkinsをセットアップする

TECH
中津川 篤司

CI(Continuous Integration。継続的インテグレーション)という言葉も一般的に用いられるようになってきました。CIサーバとして有名なのがオープンソース・ソフトウェアのJenkinsです。今回はこのJenkinsをCloudGarageのインスタンスにセットアップしてみます。

利用するディストリビューション

今回はUbuntu 18.04を用いています。16.04でも操作は変わらないはずです。

必要なスペック

Installing Jenkinsによると、メモリ256MB、ストレージ1GBが最低限のスペックとなっています。推奨としてはメモリ1GB以上、ストレージ50GB以上となっています。CloudGarageのインスタンスであれば特に問題ないでしょう。

Jenkinsのインストール

インストール作業はInstalling Jenkinsに書いてあるコマンドを実行するだけなのですが、デフォルトではJavaが入っていないためにエラーが出ます。

# sudo apt-get install jenkins
Reading package lists... Done
Building dependency tree       
Reading state information... Done
  :
See "systemctl status jenkins.service" and "journalctl -xe" for details.
invoke-rc.d: initscript jenkins, action "start" failed.
● jenkins.service - LSB: Start Jenkins at boot time
   Loaded: loaded (/etc/init.d/jenkins; generated)
   Active: failed (Result: exit-code) since Fri 2018-11-23 20:47:40 JST; 11ms ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2359 ExecStart=/etc/init.d/jenkins start (code=exited, status=1/FAILURE)

Nov 23 20:47:40 jenkins systemd[1]: Starting LSB: Start Jenkins at boot time...
Nov 23 20:47:40 jenkins jenkins[2359]: ERROR: No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin
Nov 23 20:47:40 jenkins jenkins[2359]: If you actually have java installed on the system make sure the executable is in the aforementioned path and that 'type -p java' returns the java executable path
Nov 23 20:47:40 jenkins systemd[1]: jenkins.service: Control process exited, code=exited status=1
Nov 23 20:47:40 jenkins systemd[1]: jenkins.service: Failed with result 'exit-code'.
Nov 23 20:47:40 jenkins systemd[1]: Failed to start LSB: Start Jenkins at boot time.
dpkg: error processing package jenkins (--configure):
 installed jenkins package post-installation script subprocess returned error exit status 1
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for systemd (237-3ubuntu10.3) ...
Errors were encountered while processing:
 jenkins
E: Sub-process /usr/bin/dpkg returned an error code (1)

このエラーが出る場合はJavaをインストールしましょう。実行のみのJREで大丈夫です。

# sudo apt install openjdk-8-jre -y

この後、再度インストールを実行します。これは公式サイトに書かれているコマンドを実行すればOKです。

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

初期セットアップ

http://インストールしたインスタンスのIPアドレス:8080 にアクセスすると初期セットアップがウィザード形式で進められます。特に問題ないと思いますが、最初に /var/lib/jenkins/secrets/initialAdminPassword に書かれた内容をパスワードとして使います。これをコピーしておきましょう。

~# cat /var/lib/jenkins/secrets/initialAdminPassword
2cf...869

後はウィザードに沿って進めていけばOKです。

まとめ

CIではコードを取得してビルドしたり、テストを実行するのでストレージが高速であるとそれだけ速くテストを行えるでしょう。CloudGarageのインスタンスにはぴったりな使い方と言えそうです。ぜひ試してみてください!

この記事を書いた人

中津川 篤司

株式会社MOONGIFT 代表取締役。CloudGarage、ニフクラ mobile backend、hifive エバンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ『MOONGIFT』を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶエバンジェリスト業「DevRel」活動をスタートした。 Twitter:@goofmint | GitHub:@goofmint | Facebook: goofmint

この記事のタグ

オススメの記事

ページトップへ