Hello, Jenkins!
Jenkinsさんと出会ってみよう。
JDKをいれる
これからはOpenJDKの時代だよね、ということでOpenJDKにする。
CentOSだとyumで入る。
# yum install -y java-1.6.0-openjdk # yum install -y java-1.6.0-openjdk-devel # yum install -y java-1.6.0-openjdk-src # yum install -y java-1.6.0-openjdk-javadoc
一番上だけいれればJREは入るけど、JDKとしていれるのであればdevelも必要。
srcとjavadocはなんとなくいれた。
mavenをいれる
Jenkinsでmavenビルドしたいので、Jenkinsを動かすサーバー上にmavenを入れる。
一旦2系の最新版を落としていれることにする。
# cd /usr/local/src # wget http://ftp.riken.jp/net/apache//maven/binaries/apache-maven-2.2.1-bin.tar.gz # tar xvzf apache-maven-2.2.1-bin.tar.gz # mv apache-maven-2.2.1 ../ # cd .. # ln -s apache-maven-2.2.1 mvn
これでOK. ディレクトリ名はなんとなく。
動作確認は、
# /usr/local/mvn/bin/mvn --version
たぶんJAVA_HOMEとか指定してないんで怒られたりするけどバージョンが表示されたらOK
Jenkinsをいれる
# cd /usr/local # mkdir jenkins # cd jenkins # wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war # java -jar jenkins.war
この起動だとコンソールにエラーとか出ちゃうけど一旦これで。
アクセスしてみる
はいアクセスできませんでした、と。
# /sbin/iptables -L --line-number Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere 2 ACCEPT icmp -- anywhere anywhere icmp any 3 ACCEPT esp -- anywhere anywhere 4 ACCEPT ah -- anywhere anywhere 5 ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns 6 ACCEPT udp -- anywhere anywhere udp dpt:ipp 7 ACCEPT tcp -- anywhere anywhere tcp dpt:ipp 8 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 9 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh 10 ACCEPT tcp -- anywhere anywhere tcp dpt:http 11 ACCEPT tcp -- anywhere anywhere tcp dpt:https 12 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ですよね。8080ポートあけなきゃね。
8080ポートをあける
# /sbin/iptables -I RH-Firewall-1-INPUT 10 -p tcp --dport 8080 -j ACCEPT # /sbin/iptables -L --line-number Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere 2 ACCEPT icmp -- anywhere anywhere icmp any 3 ACCEPT esp -- anywhere anywhere 4 ACCEPT ah -- anywhere anywhere 5 ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns 6 ACCEPT udp -- anywhere anywhere udp dpt:ipp 7 ACCEPT tcp -- anywhere anywhere tcp dpt:ipp 8 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 9 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh 10 ACCEPT tcp -- anywhere anywhere tcp dpt:webcache 11 ACCEPT tcp -- anywhere anywhere tcp dpt:http 12 ACCEPT tcp -- anywhere anywhere tcp dpt:https 13 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited # /sbin/service iptables save ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]
Hello! Jenkins
http://centos01:8080/
今度こそ。
Jenkinsにmavenの情報などを伝える
Jenkinsのトップから、Jenkinsの管理>システムの設定 を開く。
ジョブを作成する
メニューから、新規ジョブを作成。
名前は適当に、Mavenプロジェクトのビルドを指定。
リポジトリの指定
svnを指定しよう。
今回実はsvnと同じサーバーにたててるのでリポジトリURLは
http://localhost/svn/repos/maven-sample02/trunk
本当はJenkinsのユーザーつくってsshがいいんだろうね。
ビルド
ルートPOM ->pom.xml
ゴール -> package
を指定。
ビルドしてみる
作ったジョブのページから、ビルド実行。
青くなれば成功。赤くなったらなんか間違ってるのでログとかみて頑張れ。
ビルド履歴をみてみる
成功したビルド履歴をクリックすると詳細にとぶ。
さらにモジュールビルドをクリックして表示したページにwarとかでてる。
おわり。
とりあえず動きました。
実際のデプロイだったりきり戻しだったりテストだったりそういうのをこれからやってきましょうかね。