CodeZine(コードジン)

特集ページ一覧

Dockerで継続的インテグレーションツール「Jenkins」を動かしてみよう

Dockerをつかったイマドキのアプリ開発環境構築入門 第1回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/12/02 14:00

目次

継続的インテグレーションツール「Jenkins」の構築

 「継続的インテグレーション(CI)」とは、アプリケーション開発における次のような工程を、繰り返し行う開発スタイルのことです。

  • アプリケーションのコーディング
  • アプリケーションのコンパイル
  • アプリケーションのテスト
  • 実行環境へのデプロイ
CIの概要
CIの概要

 Jenkinsはこれらの工程の自動化をサポートするツールです。ビルドやデプロイなどの作業を自動化することで、開発生産性が向上します。また、テストやコードの構文解析チェックを自動で行うことで、アプリケーションの品質を向上させることができます。ここでは業務システム開発で広く利用されているCIツールである、Jenkinsの環境構築手順を説明します。

Jenkinsとは

 多くのプロジェクトで利用実績があるJenkinsはオープンソースの継続的インテグレーションツール(CI)ツールで、初版は2011年にリリースされ、最新版は1.6です。

 Jenkins はJavaで実装されていて、Apache TomcatなどのServletコンテナで動作するWebアプリケーションです。CVS、Subversion、Gitなどのバージョン管理ツールに対応しています。また、Java用のプロジェクト管理ツールである、Apache AntやApache MavenにおけるシェルスクリプトやWindowsのバッチコマンドを実行することが出来ます。

 warファイルによる配布のみでなく、以下のOSのパッケージも配布されています。

  • Windows
  • Ubuntu/Debian
  • Red Hat/Fedora/CentOS
  • Mac OS X
  • openSUSE
  • FreeBSD
  • OpenBSD
  • Gentoo

 JavaEEでのアプリケーション開発でよく利用されていますが、他の言語でのアプリケーション開発でも利用できます。

Jenkinsの公式サイト
Jenkinsの公式サイト

Jenkins用Dockerコンテナの起動/動作確認

 Jenkinsの環境をDockerで構築するには、Jenkinsの公式イメージを利用します。JavaおよびTomcatの実行環境もすべてこのイメージ内に設定済みです。

 次のdocker runコマンドをDocker実行環境上で実行し、Jenkinsの実行環境を起動します。次のコマンドは、「jenkinsserver」という名前のコンテナを、Jenkinsの最新の公式イメージであるjenkins:latestをもとに起動します。その際に、ホストマシンの80番ポートとコンテナの8080番ポートを転送します。

リスト6 Jenkinsの起動
$ sudo docker run --name jenkinsserver\
>            -p 80:8080\
>            -p 50000:50000\
>            -d jenkins

 起動にしばらく時間がかかりますが、Dockerコンテナが起動したら次のようにdocker psコマンドで確認します。

リスト7 Jenkinsの起動
$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                             NAMES
96c897d33167        jenkins             "/bin/tini -- /usr/l   49 seconds ago      Up 48 seconds       50000/tcp, 0.0.0.0:80->8080/tcp   jenkinsserver

 ブラウザからDocker実行環境に割り当てられたアドレスの80番ポートにアクセスします。

Jenkinsのジョブ作成
Jenkinsのジョブ作成

 Jenkinsの使い方の詳細については、公式サイトを参照してください。

おわりに

 今回の記事では、まず、Dockerの実行環境を構築するAmazon Web Services の仮想クラウドサーバEC2でDockerを動作させ、そこでCIツールである「Jenkins」の環境構築手順を紹介しました。次回の記事では、Dockerを使ったソースコードバージョン管理ツールである「GitLab」の環境構築手順を紹介します。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Dockerをつかったイマドキのアプリ開発環境構築入門

著者プロフィール

  • WINGSプロジェクト 阿佐 志保(アサ シホ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5