Cloudn \ 技術ブログ tech blog

クラウド・エヌの活用方法についてご紹介していきます。
Cloudn Information

前の記事・次の記事

CloudnのPaaSとGitLab, Jenkinsを連携させてみよう【前編】

ブログ記事

こんにちは。NTTコミュニケーションズの三井です。
今回はGitHubクローンのGitLab、CIツールのJenkins、Cloudn PaaSの連携をご紹介したいと思います。CIツールとはContinuous Integrationの略で自動ビルドやテストを行い、品質管理を行うツールのことです。今回作成するシステムでは、以下のフローで開発したコードがデプロイされます。

paas-jenkins-gitlab連携図

本記事は、下記のような前編・後編の2部構成になっています

前編

  1. Jenkinsサーバの構築
  2. Jenkinsプラグインのインストール
  3. GitLabサーバの構築

後編

  1. GitLabの設定
  2. JenkinsのJobの作成
  3. Sinatraアプリケーションのデプロイ

Jenkinsサーバ、GitLabサーバはCloudn Compute上に構築します。

1. Jenkinsサーバの構築

Cloudn ComputeでVM(テンプレート:Ubuntu Server v14.04 64bit、
プラン:m1.medium)を作成し、SSHでログインしてインストールをしていきます。
ログインをする際のユーザはubuntuになります。

1.1 Javaのインストール

PPAのリポジトリを登録します。

APTのパッケージ一覧を更新します。

OracleJDKをインストールします。

1.2 Jenkinsのインストール

Jenkinsパッケージを登録します。

パッケージリストを更新してJenkinsをインストールします。

GitLabと連携させるので、gitのパッケージをインストールします。

 1.3 nginxのインストール

Jenkinsはデフォルトでポート8080で動作しますが、ポート80で動かすために、nginxのリバースプロキシを利用します。
*ポート8080のままで使用する場合は以下の説明で用いる[JenkinsサーバのIPアドレス]の部分を[JenkinsサーバのIPアドレス:8080]に読み替えて下さい。

nginxをインストールします。

/etc/nginx/site-available/defaultをエディタで開き、location / の箇所を以下のように編集します。

設定を反映させるため再起動します。

http://[JenkinsサーバのIPアドレス]/ にアクセスし、Jenkinsの画面が表示されるとインストール成功です。

2. Jenkinsプラグインのインストール

http://[JenkinsサーバのIPアドレス]/にアクセスし、サイドバーから、Jenkinsの管理→プラグインの管理のページに進みます。
[利用可能]タブを押し、github pluginをインストールします。自動的に依存関係にあるプラグインもインストールが行われます。

スクリーンショット 2015-06-29 10.18.40

またCloudn PaaSと連携を行う、Cloud Foundry Pluginもインストールします。

スクリーンショット 2015-06-29 10.50.01

画面にインストール成功と表示されれば完了です。

3. GitLabサーバの構築

GitLabはオープンソースのGitHubで自サーバでソースコードを管理することができるツールです。ここでは、GitLab CE Omnibus packageを使用してインストールします。

Cloudn Computeでもう1つVM(テンプレート:Ubuntu Server v14.04 64bit、
プラン:m1.medium)を作成し、SSHでログインしてインストールをしていきます。

必要なパッケージをインストールします。

途中以下の画面が出てきますが、ここではNo configurationを選択します。
スクリーンショット 2015-07-01 9.45.19

スクリーンショット 2015-07-01 9.45.27

GitLabパッケージをサーバに追加します。

GitLabをインストールします。

/etc/gitlab/gitlab.rbをエディタで開き、以下のようにexternal_urlとunicorn[‘worker_timeout’]を設定します。

external_urlがデフォルトではホスト名になっているので変更します。
タイムアウトがデフォルトでは短く設定されており、インストールや通常の使用に支障をきたす場合があるので長めに設定します。

GitLabの設定と起動を行います。

このコマンドを実行するとchefを用いて必要なファイル等がデプロイされるのですが、chefテンプレートのダウンロード時にタイムアウトし、完全には成功しない場合があります。その場合は成功するまでこのコマンドを実行すれば大丈夫です。成功すると以下のようなメッセージが表示されます。
スクリーンショット 2015-07-01 10.03.55

最後に http://[GitLabサーバのIPアドレス]/ にアクセスすると以下の様な画面が表示されれば成功です。
Username: root
Password: 5iveL!fe
でログイン可能です。

スクリーンショット 2015-07-01 10.13.13

4. まとめ

前編では、GitLab、Jenkinsのインストール方法とJenkinsの設定についてご紹介しました。
引き続き、後編でGitlab、Jenkinsの連携と、JenkinsとCloudnの連携方法についてご紹介します。後編は後日掲載します。

※本記事の内容は、Cloudnの活用方法の一例を示したものであり、お客様の環境・構成において動作することをお約束するものではありません。 従いまして、本記事の内容によって生じたトラブルや損害についても、弊社では責任を負いかねますのでご了承ください。
また、本記事の内容に関してのサポートは行っておりませんので、予めご了承ください。

ブログフッダ

投稿日:

前の記事・次の記事

サイドニュー

カテゴリー

最近の記事

バックナンバー