Jenkins氏をさくらVPSに招聘する

目次

  1. 環境
  2. Javaのインストール
  3. Jenkinsのインストール
  4. nginx経由でJenkinsにアクセスする
  5. Jenkinsへのアクセス制限

環境

CentOS 6.4 64bit

Javaのインストール

(参照: 公式サイトのInstalling Jenkins)

Jenkins氏は職場環境としてJavaを要求している. しかも Sun-compatible なJavaを.

なので, まずはJavaがインストールされているかチェック.

java -version

僕の場合はインストールされていなかったが, もし

java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)

のように表示された場合は, Jenkins氏好みのJavaではないので

sudo yum remove java

してからインストールし直す. インストールされていなかった場合はここから.

sudo yum search openjdk #バージョンチェック

sudo yum install java-1.7.0-openjdk # インストール

確認

java -version

# 出力結果
java version "1.7.0_19"
OpenJDK Runtime Environment (rhel-2.3.9.1.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Jenkinsのインストール

(参照: 公式サイトのInstalling Jenkins)

# リポジトリを登録
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

# 鍵を登録
sudo rpm --import http://pkg.jenkins-ci.org/redhat-stable/jenkins-ci.org.key

# インストール
sudo yum install jenkins

で, 出勤してもらう. 以後は住み込みで.

sudo service jenkins start # 起動
sudo chkconfig jenkins on # 自動起動の設定

Jenkins氏はデフォルトで8080番ポートで待機しているので, 素直に8080番を開ける(参考: iptablesでパケットフィルタリングするための設定)か, nginx経由でアクセス出来るように設定する.

nginx経由でJenkinsにアクセスする

nginxのインストールはこちらを参照.

http://jenkins.yourdomain.comでアクセスしたい場合

/etc/nginx/conf.d/jenkins.conf

server {
  listen 80;
  server_name jenkins.yourdomain.com;
  location / {
    proxy_pass http://localhost:8080;
  }
}

と記述し,

sudo service nginx restart

でnginxを再起動して反映.

http://yourdomain.com/jenkinsでアクセスしたい場合

server {
  listen 80;
  server_name yourdomain.com;
  location /jenkins {
    proxy_pass http://localhost:8080;
  }
}

とし, /etc/sysconfig/jenkinsを以下のように修正する(prefixを認識させておく)

#修正前
JENKINS_ARGS=""
#修正後
JENKINS_ARGS="--prefix=/jenkins --httpPort=${JENKINS_PORT} --ajp13Port=${JENKINS_AJP_PORT}"

終わったら

sudo service nginx restart
sudo service jenkins restart

でnginxとJenkinsを再起動して反映.

Jenkinsへのアクセス制限

このままだと誰でも何でも出来てしまうので, Standard Security Setup - 日本語 - Jenkins Wikiを参照してアクセス制限をかけておく.

  1. トップからManage Jenkins > Configure Global Securityと進んで,
  2. Enable securityにチェック
  3. Security Realm > Jenkins’s own user database > Allow users to sign upにチェック
  4. Authorization > Matrix-based securityにチェックを入れて
  5. User/group to add: に管理者ユーザ名を入力してAddをクリック
  6. 追加した管理者ユーザは全てチェックを入れて, Anonymousのチェックを全て外す
  7. Saveをクリック