マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Jenkins

【OSS情報アーカイブ】Jenkins

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

コンテンツ

「Jenkins」とは

「Jenkins」基本情報

■概要

Jenkins(ジェンキンス)とは、オープンソース継続的インテグレーション支援ツールです。ソフトウェア開発プロジェクトなどにおける「ビルド」「デプロイ」「テスト」などの作業自動化/効率化を支援します。

■「継続的インテグレーション」とは

継続的インテグレーション(CI:Continuous Integration)とは、バージョン管理ツールにコミットされたソースコードを定期的に自動ビルドすることにより、問題を早期に発見し対処を行うことです。

その結果、ソースコード品質の向上、テスト工数の削減といった効果が得られます。

■基本説明

Jenkinsの主要機能は、「継続的なソフトウェアのビルド/テストを行う機能」と「外部で起動するジョブ実行の監視機能」です。

Javaで開発されたWebベースのソフトウェアで、Webサイトから管理/設定変更/レポート閲覧ができます。

■Jenkinsを使った開発の流れ

開発メンバーがソースコードをコミットすると、Jenkinsが更新を検知し、ビルドツールをキックします。あらかじめ設定しておいた手順に従って、ビルド/テストが実行されます。ビルド/テストが完了したら、Jenkinsは、Webページやメールなどに結果を出力します。

エラー箇所について、開発メンバーが修正を行い、ビルド/テストを繰り返して、エラーがゼロになるまで繰り返せば、手順書レベルの品質をクリアできていることになります。

■経緯

Jenkinsは、Oracle社主導で開発されていた「Hudson」と呼ばれるソフトウェアがベースとなっています。

2011年に、オープンソースプロジェクトとして分岐(フォーク)し、Jenkinsとしての開発が始まりました。

主な開発者の一人として、川口耕介氏がおり、2011年、このプロジェクトにおける自身の働きを讃えられ「Google–O”Reilly Open Source Award」を受賞しています。

■オフィシャルサイト情報

オフィシャルサイト

→Jenkins

ライセンス情報

Jenkinsのライセンスは「MIT License」です。

詳細について、こちらを参照ください。
→Jenkins →License

ダウンロード

→Jenkins →Download

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Concourse CI」など。

「Jenkins」の主な特徴

■非常に高い汎用性

Linux/Windows/Macなど、どの環境でも、さまざまな種類/言語のスクリプトを実行できます。

■多様なトリガー

「バージョン管理システムのコミット」「cronライクのメカニズムによるスケジューリング」「他のビルドが完了した時」「特定のビルドURLによるリクエスト」などさまざまなトリガーで実行させることができます。

■プラグインによる拡張性

Jenkinsは、プラグインを作成/利用することで機能を拡張できます。プラグインが充実している点も特徴です。

■簡易なインストール

「java -jar jenkins.war」を実行するか、サーブレットコンテナにデプロイするだけで、インストールできます。データベースは不要です。

■インターフェース

分かりやすいWebGUIを使用してJenkinsの設定を行えます。

■永続リンク生成

「最新ビルド」「最新安定ビルド」のような永続(固定)的なクリーンでわかりやすいURLを持ちます。

「Jenkins」の主な機能

■バージョン管理システム連携機能

バージョン管理システムと連携し、自動的にプロジェクトを構成するソースコードを集め、コンパイルして実行可能な状態にビルドします。

「CVS」「Subversion」「Git」「Mercurial」「Perforce」「Clearcase」など多くのバージョン管理システムに対応しています。

バージョン管理システムからビルドへの変更の一覧を生成できます。

■分散ビルド機能

複数のコンピュータで分散ビルド/テストを実行できます。

■ユニットテスト機能

非常に簡単な設定でユニットテストを実行させることができます。

JUnitのテスト結果を一覧表示/要約で履歴情報とともに表示します。履歴の傾向はグラフ化されます。

■タグ管理機能

ビルド単位でタグをセットできます。

■ファイル追跡機能

「どのビルドがどのjarを生成したのか」「どのビルドがjarのどのバージョンを使用しているのか」などを追跡できます。

Jenkins参考情報①Jenkinsのダウンロードとインストール

Jenkinsのダウンロードとインストールに関する情報についてまとめられているサイトを紹介します。

■Jenkinsオフィシャルサイト Getting Started

概要

オフィシャルサイトのインストール手順です。

解説テーマ

・Prerequisites
・Download and run Jenkins

ページリンク

→Jenkinsオフィシャルサイト →Getting Started with the Guided Tour

■Linux(CentOS)編

概要

CentOSへの「yum」を使用するインストール方法について紹介されています。

解説テーマ

・OpenJDKをインストール
・yumリポジトリに追加
・RPMパッケージの公開鍵をインポート
・Jenkinsインストール
・ポート変更
・サービススタート
・ランレベル₍chkconfig₎に登録

ページリンク

→Qiita →CentOS7.0にJenkinsをインストールする

■Windows編

概要

インストーラーを使用したセットアップの後に、初期設定を行う手順についてまとめられています。

解説テーマ

・Jenkinsのダウンロード
・Jenkinsのインストール
・Jenkinsの初回設定
・Jenkinsの開始

ページリンク

→Qiita →JenkinsをWindowsにオンラインインストールする

■Mac編

概要

MacにJenkinsをインストールするにあたり、3種類のインストール方法についてまとめられています。

解説テーマ

(1)jenkins 公式サイトからインストールする方法
ちなみに・・・
(2)homebrew でインストールする方法
(3)jenkins 公式サイトから(warだけ)インストールする方法
結論

ページリンク

→Qiita →MACへJenkinsをインストール(インストールの仕方編)

■Docker編

概要

「Jenkins Container」+「Docker CE」+「CentOS7」+「Vagrant」でのインストール方法についてまとめられています。

解説テーマ

・目的
・前提
・既知の問題への対応 (2017/03/10 時点)
・リファレンス
・事前準備
・手順

ページリンク

→Qiita →出来るだけ最短で Jenkins 環境を試したい(jenkins container + docker CE + CentOS7 + vagrant)

■AWS編

概要

AWSのEC2にJenkins環境を構築する手順についてまとめられています。

解説テーマ

・はじめに
・構築するJenkins環境
・環境構築手順の流れ
・EC2インスタンスを作成
・Jenkinsをインストール
・Jenkinsの起動設定
・Jenkinsの設定

ページリンク

→Qiita →AWSにJenkins環境を構築する

Jenkins参考情報②Jenkinsのビルド

Jenkinsのビルドに関する情報についてまとめられているサイトを紹介します。

■Jenkinsでビルドを行うための環境構築

概要

Jenkinsのバージョン2系で正式導入された「パイプライン機能を使ったビルド/テスト環境構築」についてまとめられています。

解説テーマ

・CIツールと「Jenkins」
・Jenkinsのインストールと初期設定
・Jenkinsのパイプライン機能を使ったビルドと成果物の配布
・トリガ設定を利用する
・Dockerと組み合わせて利用することでより柔軟な設定が可能に

ページリンク

→さくらのナレッジ →Jenkinsを使った自動テスト環境を作る(前編)

■Dockerコンテナを使って自動ビルドを実行する方法

概要

Dockerを使用してコンテナ内に構築したビルド環境をJenkinsから利用する方法についてまとめられています。

「Docker Plugin」を利用してコンテナ内でのビルドを行います。

解説テーマ

・Jenkinsの「マスター/スレーブ」機能
・Jenkinsのスレーブ設定
・「Docker Plugin」を利用したコンテナ内でのビルド
・マスター/スレーブ構成を取ることでより柔軟な設定が可能に

ページリンク

→さくらのナレッジ →Jenkinsを使った自動テスト環境を作る(後編)――Dockerコンテナを使って自動ビルドを実行する

■Jenkinsで「GitHubにアップされたiOSプロジェクト」をビルドする方法

概要

「Jenkins」+「GitHub」+「Xcode」を連携させて、GitHubのiOSプロジェクトをビルドする方法についてまとめられています。

解説テーマ

・Jenkinsのインストール
・Jenkinsの初期登録
・ユーザー登録
・「Xcode Plugin」のインストール
・GitHubと連携
・設定
・Jennkinsでジョブを実行

ページリンク

→Takahiro Octopress Blog →JenkinsからGitHubにアップされたiOSプロジェクトをビルドしよう!

■3台のマスタ/スレーブ環境でビルド高速化

概要

Jenkinsでのビルドについて、ビルドサーバを1台から3台に増やして、マスタ/スレーブ環境でビルドを行えるようにする方法についてまとめられています。

解説テーマ

・モチベーション
・構成管理システム
・ブートストラップスクリプト
・ユーザーとSSH鍵認証
・fastlaneの設定
・Xcodeのバージョン管理
・コードサイニングの秘密鍵・証明書管理
・Java依存問題の解決
・OS Xのセッションとキーチェーンについて
・マスターにJenkinsをインストール
・Jenkinsの環境変数
・スレーブの設定
・Jenkinsの管理画面にスレーブを登録
・macOS Sierraを使わなかった理由
・まとめ

ページリンク

→pixiv inside →Mac mini増殖中!iOSアプリのビルドをマスター・スレーブ化して時間を短縮する

■【Google Cloud Platform】Jenkins+Packer+Docker+Kubernetesでのイメージビルド

概要

Google Cloud Platformにおいて、Jenkins+Packer+Docker+Kubernetesを使用して、自動パイプラインを作成し、イメージのビルドを続行する方法についてのチュートリアルです。

解説テーマ

・学習内容
・イメージタイプ
・イメージビルドの自動化パイプラインのアーキテクチャと実装

ページリンク

→Google Cloud Platform →Jenkins、Packer、Kubernetes を使用したイメージビルドの自動化

Jenkins参考情報③Jenkinsのデプロイ

Jenkins参考情報③Jenkinsのデプロイ

Jenkinsのデプロイに関する情報についてまとめられているサイトを紹介します。

■アプリケーションサーバ「Glassfish」へのオートデプロイ

概要

「ローカルでのgitコミット」をトリガーとして、Jenkinsでビルドを行い、アプリケーションサーバ「Glassfish」へデプロイする方法についてまとめられています。

解説テーマ

1 やりたいこと
2 ハマりポイント
2.1 Antでのjobの設定
2.2 jenkinsでビルドできない
2.3 jenkinsのオートデプロイ
2.4 SSHでの運び方
2.5 testサーバーでのデプロイ

ページリンク

→skillupブログ →jenkinsのオートデプロイ

■GitHubからWebサーバへのオートデプロイ

概要

GitHubから取得した最新ファイルをWebサーバにデプロイする手順についてまとめられています。

解説テーマ

・完成イメージ ~JenkinsからWebサーバーへのデプロイ~
・ジョブの設定
・デプロイ処理の実行
・おわりに

ページリンク

→ICS MEDIA →JenkinsでCI環境構築チュートリアル ~GitHubからWebサーバーへのデプロイ~

■GitからHeroku環境へのオートデプロイ

概要

Mac環境において、Jenkinsを使用して、GitからHerokuへのデプロイを自動化する方法について解説されています。

解説テーマ

・ビルドパイプラインとは
・通知の設定
・Herokuへのデプロイの設定
・ビルドパイプラインの構築
・まとめ

ページリンク

→Build Insider →Jenkins入門【2.0対応】 - オープンソースCIツール(3)Jenkinsでアプリケーションをデプロイしてみよう

■【Azure】Java WebアプリをDocker経由で「Web App on Linux」にデプロイ

概要

Azure上において、Java Webアプリを、Dockerを介して「Web App on Linux」にデプロイする方法についてのチュートリアルです。

解説テーマ

・Jenkins インスタンスの作成と構成
・Jenkins 資格情報への Azure サービス プリンシパルの追加
・Azure App Service プラグイン
・Jenkins ダッシュボードで FTP を介して Web アプリをデプロイするように Jenkins を構成する
・Docker を介して Web App on Linux にデプロイするように Jenkins を構成する
・Web アプリを検証する

ページリンク

→Azure →Jenkins プラグインを使用して Azure App Service にデプロイする

■【Google Cloud Platform】Container Engineへのデプロイ

概要

Jenkinsを利用して、Google Cloud PlatformのContainer Engineにデプロイを行う方法について解説されています。

解説テーマ

・Container Engine クラスタのデプロイ
・Jenkins マスターのデプロイ
・Jenkins への接続
・Jenkins の設定
・Jenkins のアップグレード

ページリンク

→Google Cloud Platform →Container Engine での Jenkins

Jenkins参考情報④Jenkinsのテスト

Jenkins参考情報④Jenkinsのテスト

Jenkinsのテストに関する情報についてまとめられているサイトを紹介します。

■Jenkinsでのテスト実行手順

概要

Jenkinsとバージョン管理ツール「Subversion」を連携させてテストを行うための準備と設定についてまとめられています。

解説テーマ

・Jenkinsとは
・Jenkinsでできること
・Subversionの用意
・ジョブの作成
・設定完了
・確認
・まとめ

ページリンク

→dcom →Jenkinsを使ってみる

■Macでの自動テスト環境構築方法

概要

JenkinsをMacにインストールして自動テストを構築するための手順についてまとめられています。

解説テーマ

・はじめに
・Jenkinsとは?
・Jenkinsのインストール
・同じPC上のソフトの自動テスト環境の作り方
・Pythonでテスト環境を作る時の注意点
・cmakeが使えない時のgtest
・Jenkinsからメールを送る設定
・Jenkinsにログイン出来なくなった時
・新しいコンピュータにJenkinsサーバを移動する場合

ページリンク

→MyEnigma →Jenkinsで個人コードの自動テスト環境を作る方法

■Python開発でのユニットテスト実施方法

概要

Pythonでの開発においてユニットテストをJenkinsで行う方法について解説されています。

Jenkinsは、「テスト自動実行」「テストレポート出力」「カバレッジ出力と視覚化」を行います。

解説テーマ

・本記事の概要
・py.test
・Jenkinsジョブ作成

ページリンク

→Qiita →Jenkinsさんにお世話になるPython開発 – ユニットテスト編

Jenkins参考情報⑤Jenkinsのプラグイン

Jenkins参考情報⑤Jenkinsのプラグイン

Jenkinsには多くの便利なプラグインが用意されています。これらを使用することにより、さらに継続的インテグレーションの効率を上げることも可能です。

Jenkinsのプラグインに関する情報についてまとめられているサイトを紹介します。

■【プラグイン紹介】6カテゴリ20選

概要

Jenkinsの定番的プラグインについて、6カテゴリ20プラグインについてまとめられています。

解説テーマ

・Build
・Appearance
・Utility
・Theme
・Backup
・Chrome拡張

ページリンク

→Qiita →Jenkinsをインストールしたら入れるプラグイン18個

■【プラグイン紹介】フリースタイルジョブ向け6選

概要

フリースタイルジョブで便利なプラグインについて紹介されています。

解説テーマ

・pre-scm-buildstep
・ThinBackup
・Scriptler Plugin
・Configuration Slicing plugin
・Conditional BuildStep
・Naginator

ページリンク

→Qiita →地味に便利なJenkinsプラグイン

■Jenkinsプラグインのインストール方法

概要

JenkinsプラグインをCLIを利用してインストールする方法についてまとめられています。

解説テーマ

・試した環境
・CLI をダウンロード
・ヘルプ
・プラグインのインストール
・プラグインで何が出来そうか
・セキュアにアクセス

ページリンク

→ようへいの日々精進XP →Jenkins CLI で Jenkins プラグインをインストールしたメモ

■Jenkinsプラグインの開発方法

概要

シンプルなJenkinsプラグインを開発する方法についてまとめられています。

解説テーマ

・事前の設定
・プロジェクトの作成
・ローカルのリポジトリにインストール
・プロジェクトの構成
・HelloWorldBuilder
・config.jelly
・global.jelly
・システムの設定画面に、テキストボックスを追加してみる。
・まとめると
・ジョブの設定画面に、テキストボックスを追加してみる。

ページリンク

→きのさいと →Java/Jenkins/プラグイン開発

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 SAP 2027問題 」とは?⏳

デジタル寺田の3分用語解説

2024.10.07

【デジタル寺田の3分用語解説】「 SAP 2027問題 」とは?⏳

「 SAP 2027問題 」とは、「SAP ERP 6.0」が2027年末でサポート終了する問題です。セキュリティリスクを避けるため、早期に新システムへの移行が必要です。移行は業務プロセスの見直し、効率化のチャンスにもなります。新しい技術を積極的に導入し、挑戦していくことが成功の鍵となります。

【デジタル寺田の3分用語解説】「 ASM 」とは?🧩

デジタル寺田の3分用語解説

2024.10.07

【デジタル寺田の3分用語解説】「 ASM 」とは?🧩

「 ASM 」(アタックサーフェースマネジメント)は、システムに存在する脆弱性や攻撃の入り口を可視化し、管理することでリスクを特定し、対策を講じる手法です。攻撃者がシステムに侵入するために利用できる潜在的な脆弱性を理解し、適切な対策を取ることが、セキュリティ対策の第一歩となります。

【デジタル寺田の3分用語解説】「 人的資本経営 」とは?🧑‍💼

デジタル寺田の3分用語解説

2024.10.08

【デジタル寺田の3分用語解説】「 人的資本経営 」とは?🧑‍💼

「 人的資本経営 」は、企業が従業員のスキルや経験、意欲を高めるために投資を行い、長期的な企業価値の向上を目指す経営手法です。本記事では、人的資本経営の意義やその具体的な取り組みについて分かりやすく解説します。