Jenkins入門の入門

◼︎ 目次

  1. 概要
  2. 継続的インテグレーション(CI)とは
  3. 継続的インテグレーションのメリット
  4. Jenkinsとは
  5. イメージ
  6. Jenkinsでできることやメリット
  7. コピペで始めるJenkins
  8. 参考サイト

◼︎ 概要

Jenkinsについて概要とインストール方法を調べます

入門の入門ということでCIについてからメリット、インストールまでまとめます

入門を読み終わった後は JenkinsでGitにPush時に自動ビルドさせる も書いてみましたので良かったら拝見してください

◼︎ 継続的インテグレーション(CI)とは

wikipediaより

継続的インテグレーション、CI(英: continuous integration)とは、主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことである。

狭義的にはソフトウェアやサービス、システムが動作するか、こまめに確認しながら開発を進める開発手法

◼︎ 継続的インテグレーションのメリット

  • 手戻りの削減、品質の維持
  • 環境に依存しない
  • 自動化による作業コストの削減
  • 継続的に改善し続けられる

◼︎ Jenkinsとは

Javaで書かれたオープンソース継続的インテグレーションツール
Jenkinsではジョブを作成して自動or手動実行させることができる
例えば

echo "Hello jenkins!"

などの任意のコマンドからビルド・テスト・デプロイなど色々なものを登録して実行していくことができる

◼︎ イメージ

シェルを実行するだけのジョブを作成する
jenkins01
「ビルドの実行」から実行できる
jenkins02
青丸は成功したことを表す (失敗は赤丸)
jenkins03
詳細な出力を確認できる
jenkins04

◼︎ Jenkinsでできることやメリット

  • ソースコードの自動ビルド
  • 定期的なビルドによるコンパイルエラー、バグの早期発見
  • ソースコードの解析、統計
  • テストの自動化
  • 分散ビルドで早く
  • Web UIにより設定ができる
  • Git連携などができてコードを更新すると自動的にテストを実行できる

◼︎ コピペで始めるJenkins

Linux環境にJenkinsを導入してみる

// Jenkins を動かすためには、Java 6 以上があらかじめインストールされている必要がある
$ sudo yum install wget java-1.7.0-openjdk

// yum リポジトリの追加
//   CentOS / RedHat のパッケージ管理機能 yum を利用して Jenkins をインストールする
//   公式に yum リポジトリを提供してくれていますので、そのリポジトリを利用します
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

// リポジトリの追加ができたら、yumでインストール
$ sudo yum install jenkins

// Jnekinsの起動
$ sudo service jenkins start
Starting Jenkins  
 

以下のURLにアクセスするとJenkinの画面が見れる
http://(Jenkinsを導入したホスト名):8080/
jenkins
パスワードを聞かれた場合

ユーザ:admin
パスワード:以下のコマンドで確認
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword

噂のJenkinsおじさんが表示される

◼︎ 補足

インストールされたファイルの確認

/usr/lib/jenkins/jenkins.war : Jenkins本体
/etc/sysconfig/jenkins : 設定ファイル
/etc/rc.d/init.d/jenkins : 起動スクリプト

OS起動時に自動的に起動するように設定

$ sudo chkconfig jenkins on

8080(Jenkinsデフォルト)のPORTはすでに使っているので違うPORTに変更したい

// 修正するファイルのバックアップを作成
$ sudo cp -p /etc/sysconfig/jenkins{,.`date +%Y%m%d`}

// 56行目のここの文面を修正する
$ sudo grep -n JENKINS_PORT /etc/sysconfig/jenkins
56:JENKINS_PORT="8080"

// sedで置換する
$ sudo sed -i -e 's/JENKINS_PORT="8080"/JENKINS_PORT="8008"/' /etc/sysconfig/jenkins

// 修正されたことを確認
$ sudo diff /etc/sysconfig/jenkins /etc/sysconfig/jenkins.`date +%Y%m%d`</pre>
<pre>56c56 < JENKINS_PORT="8008" --- > JENKINS_PORT="8080" // stop,start $ sudo service jenkins stop; sudo service jenkins start; 

◼︎ 参考サイト

蛇足:Jenkinsおじさんはビルド失敗すると怒る


Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です