さくらの VPS に Jenkins を入れてみた

More than 5 years have passed since last update.


Abstract

CI (Continuous Integration; 継続的インテグレーション)ツールである、Jenkins (旧: Hudson)を、さくらの VPS サーバ(CentOS、このサーバ)にインストールして、使い始めるところまで設定したときのメモです。

同様の記事は余所にもあるのですが、そのものずばり同じ環境なものが見当たらなかったので、まとめました。


Keywords:


図:Jenkins 公式サイト

Jenkins 公式サイト


0. 環境


0.1. インストール前環境


  • さくらの VPS

  • OS: CentOS release 6.4 (Final)

  • HTTP Server: Apache/2.2.15 (Unix)

  • Java: 未インストール


0.2. インストール後環境


1. Java/Jenkins インストール


1.1. Java インストール


# yum list \*java-1\*
# yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel


1.2. Jenkins インストール

参考: http://pkg.jenkins-ci.org/redhat/


# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key


# yum install jenkins


1.3. Jenkins 起動


# /sbin/service jenkins start
# curl localhost:8080

なんか動いてるっぽい。


2. Jenkins/Apache 設定(失敗)

※注:2. は失敗例なので、お急ぎの方は、3. までどうぞ。


2.1. Jenkins の設定変更(ポートとか)


# vi /etc/sysconfig/jenkins


/etc/sysconfig/jenkins

JENKINS_PORT="8010"

JENKINS_ARGS="-prefix=/jenkins"



2.2. Apache の設定変更(バーチャルホスト)


# vi /etc/httpd/conf/httpd.conf


/etc/httpd/conf/httpd.conf

<VirtualHost jenkins.(ドメイン名):80>

ServerAdmin root@localhost
ServerName jenkins.(ドメイン名)
<Location /jenkins>
ProxyPass http://localhost:8010/jenkins
ProxyPassReverse http://localhost:8010/jenkins
</Location>
</VirtualHost>


2.3. Jenkins/Apache 再起動


# /sbin/service jenkins restart
# /sbin/service httpd restart


2.4. ブラウザからアクセスしてみる

http://jenkins.(ドメイン名)/jenkins


Status Code: 404


・・・(;ω;)


2.5. ローカルからアクセスしてみる


# curl localhost:8010


Welcome to Jenkins!


動いてはいるっぽい・・・


3. Jenkins/Apache 設定(成功)


3.1. Jenkins の設定変更(再)


# vi /etc/sysconfig/jenkins


/etc/sysconfig/jenkins

JENKINS_PORT="8010"

<b>JENKINS_ARGS="-prefix=/"</b>



3.2. Apache の設定変更(再)


# vi /etc/httpd/conf/httpd.conf


/etc/httpd/conf/httpd.conf

<VirtualHost jenkins.(ドメイン名):80>

ServerAdmin root@localhost
ServerName jenkins.(ドメイン名)
<Location />
ProxyPass http://localhost:8010/
ProxyPassReverse http://localhost:8010/
</Location>
</VirtualHost>


3.3. Jenkins/Apache 再・再起動


# /sbin/service jenkins restart
# /sbin/service httpd restart


3.4. 再びブラウザからアクセスしてみる

http://jenkins.(ドメイン名)/


Jenkinsへようこそ! 開始するために新しいジョブを作成してください。


・・・(゚д゚)ウマー


図:Jenkins ダッシュボード(いくつかジョブを追加後)

Jenkins 公式サイト


4. Jenkins 認証設定


4.1. ログイン認証の追加


  • Jenkinsの管理>グローバルセキュリティの設定

  • 「セキュリティを有効化」にチェック


    • アクセス制御>ユーザー情報>「Jenkins のユーザーデータベース」、「ユーザーにサインアップを許可」にチェック

    • アクセス制御>管理権限>「ログイン済みユーザーに許可」にチェック



  • 保存 (トップ画面に戻される)


図:Jenkins の管理>グローバルセキュリティの設定

Jenkins 公式サイト


4.2. ユーザー(=自分)の追加

Jenkins トップから、


  • アカウント登録>サインアップ

  • 「ユーザー名」、「パスワード」、「パスワードの確認」、「フルネーム」、「メールアドレス」を入力して、サインアップ


4.3. ログイン認証の設定変更

この辺り、しくじると誰もログインできなくなってしまうので、要注意。


  • Jenkinsの管理>グローバルセキュリティの設定

  • アクセス制御>ユーザー情報>「ユーザーにサインアップを許可」 のチェックオフ

  • アクセス制御>ユーザー情報>管理権限>「行列による権限設定」 にチェック

  • さっきのユーザー名(自分)を入力して、追加


    • ユーザー名(自分) の行のチェックを全てオン

    • 匿名ユーザー の行のチェックを全てオフ (なってると思う)



  • 保存


4.4. いったん、ログアウトする


  • ログインパネルのみ表示されて、新規のサインアップが出来なくなっている

  • 自分のユーザー名、パスワードでログインできる

となっていれば、OK。


図:Jenkins ログイン画面

Jenkins 公式サイト

・・・と、ひとまずここまで。


References & Thanks

  • 0. 環境
  • 1. Java/Jenkins インストール
  • yum list *java-1*
  • yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
  • wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
  • rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
  • yum install jenkins
  • /sbin/service jenkins start
  • curl localhost:8080
  • 2. Jenkins/Apache 設定(失敗)
  • vi /etc/sysconfig/jenkins
  • vi /etc/httpd/conf/httpd.conf
  • /sbin/service jenkins restart
  • /sbin/service httpd restart
  • curl localhost:8010
  • 3. Jenkins/Apache 設定(成功)
  • vi /etc/sysconfig/jenkins
  • vi /etc/httpd/conf/httpd.conf
  • /sbin/service jenkins restart
  • /sbin/service httpd restart
  • 4. Jenkins 認証設定
  • References & Thanks