Abstract
CI (Continuous Integration; 継続的インテグレーション)ツールである、Jenkins (旧: Hudson)を、さくらの VPS サーバ(CentOS、このサーバ)にインストールして、使い始めるところまで設定したときのメモです。
同様の記事は余所にもあるのですが、そのものずばり同じ環境なものが見当たらなかったので、まとめました。
Keywords:
- CI (Continuous Integration; 継続的インテグレーション) (Wikipedia)
- Jenkins (Wikipedia)
- Jenkins (公式サイト)
図:Jenkins 公式サイト
0. 環境
0.1. インストール前環境
- さくらの VPS
- OS: CentOS release 6.4 (Final)
- HTTP Server: Apache/2.2.15 (Unix)
- Java: 未インストール
0.2. インストール後環境
- Java: OpenJDK 1.7
- Jenkins: 1.509
- Jankins 用に、Apache の VertualHost を立てる
→ http://jenkins.(ドメイン名)/
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. 再びブラウザからアクセスしてみる
Jenkinsへようこそ! 開始するために新しいジョブを作成してください。
・・・(゚д゚)ウマー
図:Jenkins ダッシュボード(いくつかジョブを追加後)
4. Jenkins 認証設定
4.1. ログイン認証の追加
- Jenkinsの管理>グローバルセキュリティの設定
- 「セキュリティを有効化」にチェック
- アクセス制御>ユーザー情報>「Jenkins のユーザーデータベース」、「ユーザーにサインアップを許可」にチェック
- アクセス制御>管理権限>「ログイン済みユーザーに許可」にチェック
- 保存 (トップ画面に戻される)
図:Jenkins の管理>グローバルセキュリティの設定
4.2. ユーザー(=自分)の追加
Jenkins トップから、
- アカウント登録>サインアップ
- 「ユーザー名」、「パスワード」、「パスワードの確認」、「フルネーム」、「メールアドレス」を入力して、サインアップ
4.3. ログイン認証の設定変更
この辺り、しくじると誰もログインできなくなってしまうので、要注意。
- Jenkinsの管理>グローバルセキュリティの設定
- アクセス制御>ユーザー情報>「ユーザーにサインアップを許可」 のチェックオフ
- アクセス制御>ユーザー情報>管理権限>「行列による権限設定」 にチェック
- さっきのユーザー名(自分)を入力して、追加
- ユーザー名(自分) の行のチェックを全てオン
- 匿名ユーザー の行のチェックを全てオフ (なってると思う)
- 保存
4.4. いったん、ログアウトする
- ログインパネルのみ表示されて、新規のサインアップが出来なくなっている
- 自分のユーザー名、パスワードでログインできる
となっていれば、OK。
図:Jenkins ログイン画面
・・・と、ひとまずここまで。