2012年6月22日金曜日

CentOSでJenkinsをインストール【Java、Tomcat、antからgit連携まで】

  1. Javaのインストール
  2. Tomcatのインストール
  3. antのインストール
  4. Jenkinsのインストールと基本設定
  5. ジョブの作成とGit連携設定(Git連携設定)
  6. GitHub側設定
※1, 2. 3のインストールが済んでいる方は3から見ていただければと思います。

1.Javaのインストール

rpm -ivh --prefix=/usr/local/java/ jdk-7u5-linux-x64.rpm
cd /usr/bin/
ln -s /usr/local/java/jdk1.7.0_05/bin/java java
export JAVA_HOME=/usr/local/java/jdk1.7.0_05/
java -version

2.Tomcatのインストール

wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.tar.gz
tar xvf apache-tomcat-7.0.27.tar.gz
mv apache-tomcat-7.0.27 tomcat
mv tomcat /usr/local/
cd /usr/bin/
ln -s /usr/local/tomcat/bin/startup.sh tomstart
ln -s /usr/local/tomcat/bin/shutdown.sh tomstop
tomstart
tomstop

※tomcatの起動スクリプトも作成しましたので起動スクリプトも登録したい方はこちら

3.antのインストール

http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//ant/binaries/apache-ant-1.8.4-bin.tar.gz
mv apache-ant-1.8.4 ant
cd /usr/bin/
ln -s /usr/local/ant/bin/ant ant
export ANT_HOME=/usr/local/ant/

※Tomcatのコンテナとしてデプロイする方法を紹介します
※コンテナとしてデプロイする場合にはここの設定も見ておくといいかもしれません
4.Jenkinsのインストール

wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
ls -ltr ~/.jenkins
※ここが$JENKINS_HOKEに設定されている、設定ファイルもここをいじるように
mv jenkins.war /usr/local/tomcat/webapps/
・セキュリティ設定(ユーザ設定)

Jenkinsの管理→システム設定→セキュリティの有効化ON→アクセス制御→ユーザ情報→Unix ユーザー/グループ データベース
同じく権限管理→ログイン済みユーザーに許可
で適用を押下
※このときユーザ情報で何も選択しないで適用してしまうと設定ファイルを変更する必要が出てくるので注意しましょう詳しくはこちら
※セキュリティ設定をするとすぐにログイン画面に遷移するので、ログインしてください
ログインは設定したとおり「Linuxでログインするユーザ名とパスワードです」
・Java、ant設定


Jenkinsの管理、システム設定、JDK and Antの設定をします
自動インストールのチェックをはずしてそれぞれ先程設定したJAVA_HOME、ANT_HOMEを記載します

5.ジョブの作成とGit連携設定(Git連携設定)

・GitHub Pluginをインストール
Jenkinsの管理→プラグインの管理→利用可能で「git」で検索して「GitHub plugin」をインストールします
インストール後Jenkins(Tomcat)の再起動が走ります
・ジョブ作成
フリースタイル・プロジェクトのビルドを選択
ソースコード管理システムでGitを選択
ビルド・トリガでBuild when a change is pushed to GitHubを選択
ビルドを以下のように設定


6.GitHub側設定

ログイン後jenkinsと連携するリボジトリに移動
Adminをクリック(スパナのマークが書いてあるボタン)
Service Hooksをクリック
WebHook URLsを選択して
URLに以下を記載
「http://username:password@ipaddress:8080/jenkins/job/shorten_the_URLbuild?delay=0sec」
Test Hookを押下
Jenkinsに戻ってと対象のジョブでビルドが走っていることを確認する

※usernameとpasswordはJenkinsにログインする際のユーザ名とパスワードを設定します
(4.で設定した通りJenkinsのログイン管理はLinuxのユーザで設定しているのでLinuxsに登録されているユーザ名とパスワードです)
※ホスト名解決ができない場合はJenkinsがインストールされているサーバのIPADDRESSを入力しましょう
※これでダメな場合はGitHubからの8080アクセスがiptablesなどのFWで拒否されている可能性があります
GitHubの外向けのIPアドレスは(おそらく)50.57.128.197な気がしていますが、普通に考えたらグローバルの外向けIPアドレスは複数あると思いますので、できるならCIDRで0.0.0.0/0を設定しましょう(セキュリティ上はよくないですが・・・)

これでGitHubの対象のリポジトリににpushされるとJenkis側にリクエストが来て自動でJenkisがビルドを開始します

0 件のコメント:

コメントを投稿