読者です 読者をやめる 読者になる 読者になる

おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

さくらVPSにjenkinsをインストールする

jenkins server

最近まで、「一人で開発するならciサーバとかいらないかなー」なんて思っていたのですが、こないだテストが赤い状態でリポジトリにpushしてしまい、やっぱり必要だと考えを改めました。

外部のwebサービスでciを提供しているものを最初に検討しましたが、個人で使うには高いです。例えば Semaphore という Rails 用の ci サービスは一番安い 1 project のみの ci を提供するプランで14ドル、10 project だと 59 ドルします。これはちょっと手が出ません><。結局さくらVPSに jenkins をインストールして使うことにしました。

以下さくらVPSを契約してからのインストール手順です。ssh やドメインの設定については省略します。

jenkins のインストール

なるべくパッケージでインストールする方向でいきます。

sudo yum install java-1.7.0-openjdk
sudo yum install jenkins

java はもしかしたらいらなかったかもしれません。普通に yum でさくっとインストールできます。インストールしたら下記のコマンドで jenkins を起動。

sudo service jenkins start

これでサーバの 8080 番ポートにアクセスすると jenkins が立ち上がっているのが確認できます。サーバのドメインが example.com なら http://example.com:8080 でアクセス出来ます。

80番ポートでアクセスする設定

次は80番ポートでアクセス出来るように、nginx のプロキシ設定をしました。jenkins単体でも80番ポートを受け付けるようにはできるのですが、jenkins 以外でもこのさくらVPSを活用することを想定してこのような手法をとっています。nginx のインストール手順は省略します。設定は下記のような感じで nginx.conf に proxy_pass を設定するだけです。

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

これで http://example.com で jenkins サーバにアクセス出来るようになりました。

jenkins の権限設定

アクセス出来るようになったのはいいですが、現状ではだれでも jenkins の設定を変更できてしまうようです。ユーザ別に権限を設定できるようにしないといけません。nginx でベーシック認証をかけてもいいですが、jenkins でユーザ別の権限設定が出来るようなのでつかってみます。

まずトップページから、jenkinsの管理→システムの設定→アクセス制御 まで遷移します。「権限管理」項目の「行列による権限設定」をチェックし、ユーザを追加して権限を設定します。

スクリーンショット 2012-08-01 23.33.08

その後に、ログインページに戻ってアカウントを登録します。これで特定のユーザ以外はjenkinsの設定を変更できなくなりました。やったね。

タスクの登録等、つづきはまた後日書きます!

追記

続き書きました さくらVPSにインストールした jenkins を設定する - willnet.in