マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【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のライセンスは「MIT License」です。
詳細について、こちらを参照ください。
→Jenkins →License
ダウンロード
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「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の設定
ページリンク
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サーバーでのデプロイ
ページリンク
■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の用意
・ジョブの作成
・設定完了
・確認
・まとめ
ページリンク
■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
ページリンク
■Jenkinsプラグインのインストール方法
概要
JenkinsプラグインをCLIを利用してインストールする方法についてまとめられています。
解説テーマ
・試した環境
・CLI をダウンロード
・ヘルプ
・プラグインのインストール
・プラグインで何が出来そうか
・セキュアにアクセス
ページリンク
→ようへいの日々精進XP →Jenkins CLI で Jenkins プラグインをインストールしたメモ
■Jenkinsプラグインの開発方法
概要
シンプルなJenkinsプラグインを開発する方法についてまとめられています。
解説テーマ
・事前の設定
・プロジェクトの作成
・ローカルのリポジトリにインストール
・プロジェクトの構成
・HelloWorldBuilder
・config.jelly
・global.jelly
・システムの設定画面に、テキストボックスを追加してみる。
・まとめると
・ジョブの設定画面に、テキストボックスを追加してみる。
ページリンク
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【ChatGPT探訪】ビルトイン画像生成AI「 DALL·E 3 」🖼️ - 🏆ランク2位🏆
【OSS情報アーカイブ】GitBucket - 🏆ランク3位🏆
【OSS情報アーカイブ】memcached - 🏆ランク4位🏆
Java単体テストツール「 JUnit 」まとめ - 🏆ランク5位🏆
【OSS情報】ディスクイメージング(クローニング)ツール「 Clonezilla 」 - 🏆ランク6位🏆
【無料オープンソース】「 AWS監視 」ツールまとめ5選 - 🏆ランク7位🏆
【無料で使える】「 AR / VR 」ツールまとめ - 🏆ランク8位🏆
【OSS情報アーカイブ】Spinnaker - 🏆ランク9位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク10位🏆
【OSS情報アーカイブ】Squid