LoginSignup
6
6

More than 5 years have passed since last update.

Jenkinsマシンを立ててみてわかったこと

Posted at

Qiitaで技術ネタを一元管理したいのでブログから移っただけ。相当古いネタなのでご注意ください。

Jenkinsのslave nodeを作ってみたのでメモ。設定方法を書いた記事は多いので省略。

前提

  • masterが存在していて、git-scm等のプラグインがすでにインストールされてる
  • slave nodeとして追加するマシンはmacosx

やりたいこと

  • Jenkins自体のインストール・設定・メンテはしない(他のプロジェクトと一元で管理)
  • ビルドをスレーブノード上で実行、成果物履歴をスレーブに残す。
  • 他のプロジェクトのジョブと競合したくない、マスターのディスク容量が限られているから食わない
  • できればビルド結果をわかりやすくチームメンバに知らせる

Slave Node用マシンの用意

  • macって本当にいいかをまじめに検討すべき
    • jenkinsのmasterがjenkinsユーザとしてslaveノードにコマンドを送るので、jenkinsユーザでslaveにログインする
    • 開発マシンがlinuxでログ等は/home以下のどっかにアクセスする場合(例として/home以下をmkdirする)、macマシンにもjenkinsユーザに/home以下のmkdir権限を与えたい。しかしデフォルトではmacの/home以下にmkdirしちゃいけない(sudo権限も)
    • 解決策:http://stackoverflow.com/questions/1362703/how-can-i-use-the-home-directory-on-mac-os-x
    • 特別な事情がなければjenkins serverもdev serverと同じosでいい気がする
  • slave nodeマシンに入れるもの以外と多い
    • 基本的にdevマシンと揃えるべき(ソフトのバージョンまで)
  • たまーにsleepしてslave-agentが落ちる
    • 対策はよくわからない。sleepさせないようにcaffineを入れている。

ビルド失敗した場合メンバに伝える方法

  • もちろんemail飛んできます
    • が、メールだと緊急感を伝えられないみんないちいちメール見ない
  • 物理的になんか見えるものがあるといいなーと思ったのでこんなの作った(チームの島においてある{と言っても僕のディスプレーの上})

Jenkins Visualizer

  • どういうもの
    • 写真左上のLED電球が最新ビルドの状態を示す
    • 写真右下のLEDバー(10灯)が最近10ビルドの履歴を示す
    • それぞれ4色がある

赤:FAIL
緑:RUNNING
青:SUCCESS
黄:UNSTABLE

  • コードはこちら

https://github.com/nerocrux/maid-mayuyu/tree/master/jenkins-status

  • 使ったもの
    • 数年前に買った Arduino Duemilanove

http://arduino.cc/en/Main/ArduinoBoardDuemilanove

  • 評価ボードだけのってるシールド

http://akizukidenshi.com/catalog/g/gM-07033/

  • フルカラーLEDとLEDバー

http://akizukidenshi.com/catalog/g/gI-00729/
http://akizukidenshi.com/catalog/g/gI-04761/

  • 事前準備
    • 配線。ものすごく簡単なので省略。基本的にスケッチを書いてLEDを赤・黄・青・緑の4色に点灯できるだけでOK。
    • 更にスケッチをもっとまじめに書いて、シリアル通信で、特定のコマンドが送られて来たら、特定の色に切り替えられるようにする
  • 運用
    • トリガーで使うプログラムを用意(write-jenkins-status-serial.rb)
    • Jenkinsのビルド開始時の完了時にwrite-jenkins-status-serial.rbを実行する
    • そのスクリプトがjenkinsのAPIをアクセスし、ビルド結果を取得して整形し、シリアル通信でarduinoに送る
    • Arduinoのシリアルポートにコマンド(基本的に文字列)が入ってきたらLEDの色を切り替える
  • 感想
    • LEDが明るく過ぎて眩しい
    • 履歴は多分見ない
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6