Ubuntu10.10 自宅サーバ構築手順:継続ビルド環境(Jenkins)インストール

先月末から今月に掛けて何やら慌ただしくなってきているHudson改めJenkins周辺。併せてjenkinsのインストール手順も記録しておこうと思います。
まぁ基本同じ手順なんですけどね…。(^_^;)


  • 更新用のkey情報を取得。
absj31@absj31-MyHomeServer:~$ sudo wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
  • apt-get更新用のリストを編集。
absj31@absj31-MyHomeServer:~$ sudo vi /etc/apt/sources.list
---------------------------------
※以下の行を末尾に追加
deb http://pkg.jenkins-ci.org/debian binary/
  • apt-getインストール実施。
absj31@absj31-MyHomeServer:~$ sudo apt-get update
absj31@absj31-MyHomeServer:~$ sudo apt-get install jenkins
  • (インストールログ)
absj31@absj31-MyHomeServer:~$ sudo apt-get install jenkins
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-headers-2.6.35-22 linux-headers-2.6.35-22-generic
これらを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージは「削除」されます:
  hudson
以下のパッケージが新たにインストールされます:
  jenkins
アップグレード: 0 個、新規インストール: 1 個、削除: 1 個、保留: 138 個。
36.5MB のアーカイブを取得する必要があります。
この操作後に追加で 348kB のディスク容量が消費されます。
続行しますか [Y/n]? Y
取得:1 http://pkg.hudson-labs.org/debian/ binary/ jenkins 1.396 [36.5MB]
36.5MB を 7分 52秒 で取得しました (77.2kB/s)                                                                                                                                                          
(データベースを読み込んでいます ... 現在 172949 個のファイルとディレクトリがインストールされています。)
hudson を削除しています ...
 * Stopping Hudson Continuous Integration Server hudson                                   [ OK ]
ureadahead のトリガを処理しています ...
ureadahead will be reprofiled on next reboot
未選択パッケージ jenkins を選択しています。
(データベースを読み込んでいます ... 現在 172945 個のファイルとディレクトリがインストールされています。)
(.../archives/jenkins_1.396_all.deb から) jenkins を展開しています...
ureadahead のトリガを処理しています ...
jenkins (1.396) を設定しています ...
システムユーザ `jenkins' (UID 122) を追加しています...
新しいユーザ `jenkins' (UID 122) をグループ `nogroup' に追加しています...
ホームディレクトリ `/var/lib/jenkins' は作成しませんでした.
 * Starting Jenkins Continuous Integration Server jenkins
The selected http port (8080) seems to be in use by another program
Please select another port to use for jenkins                                             [ OK ]
absj31@absj31-MyHomeServer:~$ 
  • 導入確認。
absj31@absj31-MyHomeServer:~$ dpkg -l | grep jenkins
ii  jenkins            1.396      Continuous integration system written in Java
absj31@absj31-MyHomeServer:~$
  • 起動スクリプトについては、諸々のデフォルト情報が/etc/default/hudson に記載されているので、変更する場合はこのファイル内の要素を修正。(※以下はポート:9090で起動させる場合:下1/3位の所にあるHTTP_PORTの値を書き換えている)
absj31@absj31-MyHomeServer:~$ sudo vi /etc/default/jenkins
------------------------------------------------------------
# defaults for jenkins continuous integration server

# pulled in from the init script; makes things easier.
NAME=jenkins

# location of java
JAVA=/usr/bin/java

# arguments to pass to java
#JAVA_ARGS="-Xmx256m"

PIDFILE=/var/run/jenkins/jenkins.pid

# user id to be invoked as (otherwise will run as root; not wise!)
JENKINS_USER=jenkins

# location of the jenkins war file
JENKINS_WAR=/usr/share/jenkins/jenkins.war

# jenkins home location
JENKINS_HOME=/var/lib/jenkins

# set this to false if you don't want Hudson to run by itself
# in this set up, you are expected to provide a servlet containr
# to host jenkins.
RUN_STANDALONE=true

# log location.  this may be a syslog facility.priority
JENKINS_LOG=/var/log/jenkins/$NAME.log
#HUDSON_LOG=daemon.info

# OS LIMITS SETUP
#   comment this out to observe /etc/security/limits.conf
#   this is on by default because http://github.com/feniix/hudson/commit/d13c08ea8f5a3fa730ba174305e6429b74853927
#   reported that Ubuntu's PAM configuration doesn't include pam_limits.so, and as a result the # of file
#   descriptors are forced to 1024 regardless of /etc/security/limits.conf
MAXOPENFILES=8192

# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=9090

# port for AJP connector (disabled by default)
AJP_PORT=-1

# arguments to pass to jenkins.
# --javahome=$JAVA_HOME
# --httpPort=$HTTP_PORT (default 8080; disable with -1)
# --httpsPort=$HTTP_PORT
# --ajp13Port=$AJP_PORT
# --argumentsRealm.passwd.$ADMIN_USER=[password]
# --argumentsRealm.$ADMIN_USER=admin
# --webroot=~/.jenkins/war
JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT"
  • jenkins再起動。
absj31@absj31-MyHomeServer:~$ sudo service jenkins restart
 * Restarting Jenkins Continuous Integration Server jenkins
                                                                                    [ OK ]
absj31@absj31-MyHomeServer:~$ 
  • ブラウザ接続確認(確認の際はファイアウォール等の設定も忘れずに)。無事入りました。


名前変わったのでキャラも変わるのかなと思いきや旧Hudsonさんでしたね。おじいちゃん(執事か)が『改名』しただけと言うことですか。( ̄ー ̄)

しかし、以下のあんまり過ぎる対応など、この先も一体どうなって行くのだろう…というところですね。

Hudson生みの親の川口耕介(Kohsuke Kawaguchi)さんにはHudsonの件でコメントを頂いた
(初歩の初歩でしたが…^^;)だけに、切ない&複雑な思いです…。