JenkinsとBitbucketを連携する手順の覚え書き。
JenkinsのパイプラインでBitbucketを利用するための設定なので、参考になるかどうかは不明だけど、書き置き。
環境: ubuntu(xenial)
keyの作成
ssh-keygenを使って秘密鍵、公開鍵を作成する。
$ ssh-keygen
Enter file in which to save the key (/home/ユーザ名/.ssh/id_rsa): /var/lib/jenkins/.ssh/id_rsa
キーのパスとパスフレーズを聞かれるが、パスに上記 /var/lib/jenkins/.ssh/好きなキー名
を入力する。
最初入力しないで作成してデフォルトの場所 $HOME/.ssh/
にファイルができてハマった。
jenkinsは /var/lib/jenkins/.ssh/
を見に行くらしい。
※パスフレーズは任意
Access Keyの設定(Bitbucket)
リポジトリの設定からAccess Keysの画面を開き、「鍵を追加」ボタンを押す。
出てきた画面で、Labelに任意の値を入力し、Keyのところに上で作ったid_rsa.pubの内容をコピペして「鍵を追加」ボタンを押すとBitbucket側でのキーの設定は完了。(ssh-keygenでキー名をつけた場合は「キー名.pub」ファイルの内容。)
Bitbucketプラグインのインストール(Jenkins)
JenkinsのWEB画面から、
Jenkinsの管理>プラグインの管理 へ移動して、
「利用可能なプラグイン」タブでBitbuket Pluginを探し当ててチェックを入れて、画面下の「再起動をせずにインストール」を押すとインストールが始まるので、しばらく待つ。
インストールが終わると「インストール済み」のタブのところに Bitbuket Plugin が現れる。
認証情報の登録(Jenkins)
Jenkinsダッシュボードから「認証情報>System>グローバルドメイン」で画面遷移した先で、「認証情報の追加」ボタンを押して、認証情報の入力画面へ移動。
種類を「SSHユーザ名と秘密鍵」に変更し、秘密鍵を「Jenkinsマスター上の~/.sshから」にする。
(/var/lib/jenkins/.ssh/id_rsa を見に行くので、キー名変えた場合は「Jenkinsマスター上のファイルから」にしてパス指定かな?)
保存を押すと「jenkins」というユーザ名で認証情報が保存される。
pipelineの設定(Jenkins)
Jenkinsのダッシュボードから「新規ジョブの作成」で画面遷移し、パイプラインジョブを作成する。
諸々設定はあるだろうけど、パイプラインのところでリポジトリURLにgit@bitbucket.org:"bitbucketユーザ名"/"リポジトリ名".git
を記入し、認証情報に上で作成した「jenkins」の認証情報を選択。
最後駆け足になったけど、これで一応JenkinsとBitbucketの連携が完了したので、あとは煮るなり焼くなりするといい。