Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Linux / Windows / Mac 以外の選択肢2 (jenkinsのbranch b...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Livesense Inc.
April 21, 2014
Technology
0
73
Linux / Windows / Mac 以外の選択肢2 (jenkinsのbranch build) #TechLunch
Linux / Windows / Mac 以外の選択肢2
(jenkinsのbranch build)
2012/08/29 (水) @ Livesense TechLunch
発表者:松永 一郎
Livesense Inc.
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_総合職採用_会社説明資料
livesense
0
3.7k
27新卒_Webエンジニア職採用_会社説明資料
livesense
0
7.9k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
0
280
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
0
570
26新卒_総合職採用_会社説明資料
livesense
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
2
58k
26新卒_Webエンジニア職採用_会社説明資料
livesense
1
13k
中途セールス職_会社説明資料
livesense
0
300
Other Decks in Technology
See All in Technology
FastMCP OAuth Proxy with Cognito
hironobuiga
3
220
OPENLOGI Company Profile for engineer
hr01
1
61k
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
480
なぜarray_firstとarray_lastは採用、 array_value_firstとarray_value_lastは 見送りだったか / Why array_value_first and array_value_last was declined, then why array_first and array_last was accpeted?
cocoeyes02
0
290
MCPで決済に楽にする
mu7889yoon
0
160
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
200
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
130
MIX AUDIO EN BROADCAST
ralpherick
0
120
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
3
850
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
200
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
94
AI: The stuff that nobody shows you
jnunemaker
PRO
4
500
How to train your dragon (web standard)
notwaldorf
97
6.6k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
From π to Pie charts
rasagy
0
160
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
150
Transcript
Linux / Windows / Mac 以外の選択肢 2
と思ったんですが、あまり需要が無さ げなのと、今の仕事で解消したい不便 な事があったので、そこらへんで、な にをやったのかを話したいと思いま す。
あと、画面寂しいよねとか言うの禁止 資料作る時間が取れなくて、急遽昨日でっちあげ てます。LibreOffice Impressで。 作ってる最中に一度落ちてファイルが壊れ、地獄 を見ました。
本当はhipchatのbotを作ろうかとも思ってたんだ けど、時間が足りないので、それも無し。 ちょっとだけ今回hipchat使うけど。
おーい、磯野〜、一緒にJenkinsさ んを憤死させよーずー という事で、jenkinsさんの話をします。
現在僕はほとんどlinux開発環境から出ないで開発 をやってます。
これで不便な事 • 意外とlinux開発環境が重く、local storageを 使っても1.5倍位遅い • CPUがVMに対し1個割り振られてないんで、 テスト走ると、さらに重い。 • unit
test走ってる最中にcodeを弄るのに躊躇し てしまう(重いのと、あと走ってる最中の コード変更が気持ち悪いのと) • staging(jenkins)と開発環境の違いにより、テ スト結果に差が出て、その対応の為、リリー ス branchのcommitを汚す事がある。
だったらほとんど遊んでいるjenkinsさんにやって もらえばいいじゃん。
幸い、転職会議はticket単位でbranchを切って開 発している。なので、jenkinsさんにそのbranch、 見てもらえばいいじゃん。
ちなみにjenkinsさんが何物か知らない人は、 「ある特定のbranchを監視し(含 trunkと か)、commitがあったら勝手にテストしてくれる 人」 と思って下さい。 というか、以上がCIの概念の全てです。
• 各branch毎にjenkinsの監視対象(job)を追加する のってダサいよねー。 • それに、branchのcommit毎にテストしたいわけ じゃないし。 • 僕みたいに結構細かい粒度でcommitする人もい るわけだし。 Jenkinsさんにお願いするの反対
の声をお聞き下さい。
Jenkinsさんにお願いするの賛成 の声をお聞き下さい • remote api使ってbranch指定してbuildすりゃ 良いじゃん!! • それに、裏で走るんだったら、終わった事を 通知もして欲しいよね。 •
メール? だっせーーーーーーーーーー 今だったらhipchatでしょ?
作ってみた 実演
仕組み Jenkinsにはjenkinsを作った川口さんが開発した stapler というRESTful frameworkが使われてます。 業務ロジックをannotationで外に公開する事が出 来るんですね。
そんなAPIの一つが、起動。 http://192.168.30.22:8080/job/jobtalk.jp- branch/buildWithParameters? branch=ichiro/test&hipaccount=IchiroMatsun aga&room=転職会議 branch / hipaccount / room
というパラメータを追加している。 これは、jenkins側で設定。
他、buildの結果をxmlで取得したり出来る。 Build結果のurlの後ろに/api/xml を追加すると見れ る。
あるjobの後に別のjobを自動で走らせる事が出来 る
以上により 1. buildWithParameterによりテスト起動 2. jenkinsの終了後に子jobを呼ぶ機能によ り、hipchat連携用のjobを呼ぶ 3. hipchat連携用jobは、自分のbuildのurlが渡っ て来るんで、それを利用して、自分のbuild状態 をxmlから取得する。これにより親buildのurlが分
る
4. 親buildのbuild状態をxmlから取得し、どんな パラメータで起動され、テスト結果がどうだっ たかわかる。 5. この情報を元にhipchatにメッセージを投げる こんな感じでやってる。
小技 テストを行なっているjobでは、指定された branchをテストする為に、jenkins組込みの subversion連携機能を使っていない。 ${JENKINS_HOME}/bin/co_branch.sh で、自前で info / co /
switch をしている。
色々思った事 • 今、windows上で開発している人も多い。 やっぱりwindows上のphpと本番のphpは別 物。なんで、unit test回すならlinux開発環境上 で回して欲しい。 この仕組みを使う事により、branchを中継し て、その助けが出来るんじゃないだろうか? •
周り見てると、svnの機能を使い切ってない 人、けっこういるように見える。switchとか 便利ですよ。 • gitの基本ローカルに起因する軽さはやっぱり 魅力的。ただ、仕事で使う上での履歴改変系 の事はどうしてもひっかかる。masterとか飛