◼︎ 概要
Jenkinsについて概要とインストール方法を調べます
入門の入門ということでCIについてからメリット、インストールまでまとめます
入門を読み終わった後は JenkinsでGitにPush時に自動ビルドさせる も書いてみましたので良かったら拝見してください
◼︎ 継続的インテグレーション(CI)とは
wikipediaより
継続的インテグレーション、CI(英: continuous integration)とは、主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことである。
狭義的にはソフトウェアやサービス、システムが動作するか、こまめに確認しながら開発を進める開発手法
◼︎ 継続的インテグレーションのメリット
- 手戻りの削減、品質の維持
- 環境に依存しない
- 自動化による作業コストの削減
- 継続的に改善し続けられる
◼︎ Jenkinsとは
Javaで書かれたオープンソース継続的インテグレーションツール
Jenkinsではジョブを作成して自動or手動実行させることができる
例えば
echo "Hello jenkins!"
などの任意のコマンドからビルド・テスト・デプロイなど色々なものを登録して実行していくことができる
◼︎ イメージ
シェルを実行するだけのジョブを作成する
「ビルドの実行」から実行できる
青丸は成功したことを表す (失敗は赤丸)
詳細な出力を確認できる
◼︎ 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/
パスワードを聞かれた場合
ユーザ: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;
◼︎ 参考サイト
- CentOS/RedHatにJenkinsをインストールする手順 (yum, RPM)
- 千里の道も一歩から 継続的インテグレーションから始める継続的デリバリーへの道~Jenkinsを添えて
- 「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門 (1/4)
蛇足:Jenkinsおじさんはビルド失敗すると怒る
コメントを書く
コメント一覧