SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

継続的インテグレーションツール「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」の環境構築手順を紹介します。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Dockerをつかったイマドキのアプリ開発環境構築入門連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9103 2015/12/02 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー