Jenkinsインストール
Flexでライブラリやらなんやら作ってたのですが、
一息付いたので、開発環境周りをやっとこうかと。
Jenkinsを、さくらのVPSにインストールしたいと思います。
War単体で実行や、Tomcatなどにデプロイしてもいいのですが、
せっかくRPMを提供してくれているので、
RedHat Repository for Jenkins
を参考にインストール。
$ sudo service jenkins start
で起動しますが、8080で起動するので、80で動くようにします。
Jettyの場合は、iptablesで80→8080リダイレクトしてましたが、
Jenkins以外でも使う想定だったり、他の事してみたかったりするので、
さくらVPSにjenkinsをインストールする - おもしろwebサービス開発日記
この方と同じ感じで、フロントにnginxを入れたいと思います。
nginxインストール
$ sudo yum install nginx
nginx.conf
$ sudo vi /etc/nginx/nginx.conf http { ・・・ server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:8080; } } }
nginx起動
$ sudo /etc/init.d/nginx start
これで80番でjenkinsにアクセスする事が出来るようになりました。
あと地味にハマったのが、コチラhttp://blog.lunchub.com/post/12875858162/jenkins
あとコレも誤ってJenkinsにログインできなかったり、404エラーが起きたりの対処法 - anyone anywhere
ちょっと残念な感じです。
bitBucketからクローンしてビルドする。
パスワードをURLに含むわけにはいかないので、SSHで。
$ sudo -u jenkins
だと、なぜかユーザが切り替わらないので、
$ sudo -u jenkins -H ssh-keygen -t rsa
で鍵作成。
で、作成された公開鍵をbitbucketに登録。
$ sudo cat /var/lib/jenkins/.ssh/id_rsa.pub
bitbucketのアカウントのSSH keysから登録します。
一度known_hostsに登録。yesでOK。
$ sudo -u jenkins ssh bitbucket.org
これでJenkinsで、bitbucketのソースをクローンして、ビルドする事が確認出来ました。
と、ここらでURLを、http://example.com/jenkinsにしたくなったので、変更したら404が出る。
調べたところ、nginxで/jenkinsなどにリバースプロキシを設定する場合は、
$ sudo vi /etc/sysconfig/jenkins JENKINS_ARGS="--prefix=/jenkins"
Jenkins側にもPrefixを指定する必要があるみたいです。
http://d.hatena.ne.jp/FGtatsuro/20120603/1338653541
ありがとうございました。
$ sudo vi /etc/nginx/nginx.conf http { ・・・ server { listen 80; server_name example.com; location /jenkins { proxy_pass http://127.0.0.1:8080; } } }
bitbucketにコミットされたら、即ビルド
SCMポーリングだったり、定期実行などありますが、やっぱりフックしたいので、
https://confluence.atlassian.com/display/BITBUCKET/Setting+Up+the+Bitbucket+Jenkins+Service
ここ参考に設定しました。
bitbucketにpushしてみる。
・・・
ビルドしない・・・。
調べてみると、ビルド出来ない例も多そう。
あれこれ調べていると
http://www.tokoro.me/posts/security-for-jenkins/
Git PluginのnotifyCommitを使うやり方がいいよと言って下さってる方が。
試しにendpointに
http://example.com/jenkins/git/notifyCommit?url=url
を入れてみる。ビルドしない・・・。
curlでは、ビルドする。
あまりやりたくなかったけど、POSTで設定してみる。動く・・・。
うーん。とりあえずよしとします。
なんかスムーズには行きませんでしたが、
コミット、プッシュ→自動ビルドまで出来ました。
あとは、プラグインを色々試してみたいと思います。
お疲れ様でした。