OpenShift の jenkins と bitbucket を連携


こんにちは、北川です。

以前から気になっていた、OpenShift Online を使ってjenkinsを構築しました。
せっかくなのでbitbucketと連携してみましたので連携の方法を書いておきます。

What's OpenShift?

OpenShift Online は、RedHat が提供している PaaS プラットフォームです。
また、OpenShift Origin として PaaS プラットフォームを構築しているソフトウエアがオープンソースソフトウエアとして提供されています。

https://www.openshift.com/

Create Account & Instant App Jenkins Server

OpenShift で Jenkins Serverを構築するのは非常に簡単です。
WEBページに記載されている通りにすれば、WEB上からほんの15分で構築できます。
そのため、OpenShift 上に Jenkins Serverを構築する手順はあまり詳しく記載しません。

1.アカウントを作る

OpenShift のTOPページ ONLIEN Public PaaS の SIGN UP For Free からアカウントを作成できます。

2.Jenkins Serverを構築

Jenkins Serverの構築は、サインアップ後、Create Application のページから Jenkins Serverを選択し、記載されている通りに進めば構築完了です。

jenkinsとbitbucketを連携

自分のサーバ上の Jenkins であれば、$HOME/.ssh/config に公開鍵認証のための情報を記載
してやればよいですが、OpenShift Online の場合は、$HOME/.ssh/config に権限がないため
変更ができません。そのため、GIT_SSH を利用して連携します。

GIT_SSH に関しては前回記事を書きましたのでご参考にしてください。
GIT_SSH を利用してbitbucketからチェックアウト

1.OpenShift サーバにログインできるようにする。

Webページから公開鍵を登録しOpenShift Serverに ssh 接続ができるようにします。

Settings -> Public Keys の Paste the contents of your public key file (.pub)
から公開鍵が登録できますので登録しましょう。

登録ができたら、My Applications から 作成した Jenkins Server を選択しssh 接続のための
情報を取得し先ほど登録した公開鍵のペアとなる秘密鍵を利用して ssh で接続すれば
作成した Jenkins Server にログインできます。

ログインするこんな感じ

.ssh には権限がありません

2. bitbucketに公開鍵認証のために公開鍵を登録

$HOME/app-root/data/.ssh に公開鍵と秘密鍵のペアが作成されているので今回はこのペアを公開鍵認証に利用します。

また、秘密鍵の権限が 600 でないので変更しておきます。

bitbucketで 公開鍵を登録するには、bitbucketにログイン -> アカウントの管理 -> SSH キー -> 鍵を追加で追加可能ですので公開鍵の登録ができますので登録をしておいて下さい。

3. GIT_SSH のためのラッパーを作成

GIT_SSHのためのラッパーを作成します。

権限も変更します。

5. Jenkins GIT_SSH 環境変数を設定

Jenkins から GIT_SSH を利用するためには環境変数に設定する必要があります。
Jenkinsの管理 -> システム設定 -> Global properties 環境変数 で設定可能です。

6. ビルドを実行

いつも通りに Jenkins の Git Repositories に 設定してやれば bitbucket から チェックアウトできます。

まとめ

ながながと書きましたが、ポイントは2つです。

1. OpenShift サーバでは、UserHome に権限がないため GIT_SSH を利用し回避する。
2. GIT_SSH を利用するためにJenkinsの環境変数に指定する。

少し癖がありますが、ある程度のリソースまでは無料で使えるため活用していこうと思います。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です