Bitbucketのprivate repositoryとJenkinsの連携について
Bitbucketのprivate repositoryとJenkins使ってCIできる環境を作った。
主に以下の記事を参考にすれば解決だったが、自分用にメモを残す。
URL: http://qiita.com/ka_/items/acd019118eab298101f6
【環境】
Jenkins
JenkinsはさくらVPSのCentOS 6.3上で動いている。
※yumでインストールしたので、OS上にJenkinsユーザが追加されている状態
Git Pluginは既に追加済み。
※インストール時、以下のURLを参考にした
http://snickerjp.blogspot.jp/2013/10/yum-Install-Jenkins.html
http://futurismo.biz/archives/1348
Bitbucket
Gitでprivate repositoryを作成済み
【手順】
1. Jenkinsの公開鍵を作成する
以下のコマンドを実行して、Jenkinsユーザの公開鍵を作成する。
ssh-keygen 実行した際に、パスフレーズを聞かれるがEnterで跳ばしてOK
$ sudo su - jenkins $ ssh-keygen
2.Bitbucketに公開鍵を登録する
Bitbucketに作成しておいたリポジトリの、
設定(対象リポジトリ内の歯車マーク) > デプロイ鍵 > 鍵を追加
とたどって、keyに1.で作成した公開鍵(id_rsa.pub)の内容をコピペして鍵を追加する。
※ここまでの手順は以下の記事が参考になった
http://morizyun.github.io/blog/ssh-key-bitbucket-github/
3. Bitbucketにフックを設定する
設定(リポジトリ内の歯車マーク) > フック
からとたどって、プルダウンからPOSTを選択する。
その状態で、ホックを追加を押すとURLの入力を求められるので、以下の形式のURLを設定する。
http://Jenkinsのドメイン:8080/git/notifyCommit?url=git@bitbucket.org:xxxxxx/xxxxxx.git
4.Jenkins側の設定
Jenkinsにログインし、ダッシュボード > 新規ジョブ作成 から新しいjobを作成する。
ジョブを作成したら、そのジョブの設定から以下のように各設定を追加する。
■ソースコード管理システム
・Repositories(Repository URL) 対象リポジトリのURL(SSH)
・リポジトリ・ブラウザ bitbucketwebを選択し、URLに対象リポジトリのURLを入力
※Repositories(Repository URL)にURLを入力した際、初回はエラーが表示される。
コンソールから、以下のコマンドなど実行して.sshのknown_hostsにBitbucketを追加しておく。途中の質問にはyesを入力する。
$ git ls-remote -h git@bitbucket.org:xxxxx/xxxxx.git HEAD とか $ ssh bitbucket.org
■ビルド・トリガ
・SCMをポーリングにチェックを入れる。
※スケジュールは空でOK
あとは、接続テストとかビルドとかやってうまくいってるか確認すればOK
※接続テストに関しては、本文先頭の参考した記事参照
ここまで設定を行えば、Bitbucketにpushしたタイミングで、Jenkinsが自動でビルドするようになる。
準備は整ったので、次はnoseを使ってpythonのソースを自動でテストするとこまでできるようにする。