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
Jenkinsで伺かしてみる
Search
matuyuji
April 05, 2013
Technology
0
5.7k
Jenkinsで伺かしてみる
SSP(伺か)とその通信プロトコルであるSSTPを用いて、JenkinsからSSPへのビルド失敗時の通知などを行います。
matuyuji
April 05, 2013
Tweet
Share
More Decks by matuyuji
See All by matuyuji
Emacs × Touch Bar
matuyuji
2
1.9k
ARKit + SceneKitでMinesweeperを作ってみた
matuyuji
1
810
Go + QtでiOS アプリ開発
matuyuji
0
410
@_specialized なお話し
matuyuji
0
500
Xcode Souce Code Extensionを使ってみた
matuyuji
0
420
Codebeatを 試してみた
matuyuji
0
790
React Nativeで UIコンポーネントをつくる
matuyuji
0
1.1k
React Nativeを使ってみた
matuyuji
0
1.4k
SwiftでLens
matuyuji
1
1k
Other Decks in Technology
See All in Technology
[2025-12-12]あの日僕が見た胡蝶の夢 〜人の夢は終わらねェ AIによるパフォーマンスチューニングのすゝめ〜
tosite
0
200
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
230
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
250
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
1k
Claude Codeを使った情報整理術
knishioka
13
9.8k
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
730
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
420
Knowledge Work の AI Backend
kworkdev
PRO
0
290
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
22
8.3k
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
160
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
100
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
31
Are puppies a ranking factor?
jonoalderson
0
2.5k
The Spectacular Lies of Maps
axbom
PRO
1
400
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
130
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
97
First, design no harm
axbom
PRO
1
1.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Paper Plane
katiecoart
PRO
0
44k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
130
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
JenkinsͰ ͔ ͯ͠ΈΔ @matuyuji 2013.4.9 ୈ3ճ Jenkinsେࡕษڧձ 134݄5༵ۚ
͓ͬ͞Μͱձ͍ͨ͠ Ϗϧυ͕յΕ·ͨ͠ ͲΕ? (Πϝʔδը૾) ͜ΕͰ͢ ͓͍ͯͨ͠ Ϗϧυ͓͖ͯ͠·͢Ͷ 134݄5༵ۚ
Agenda γεςϜߏ SSP/SSTPʹ͍ͭͯ Jenkins࿈ܞ ͦͷଞ & ·ͱΊ Jenkinsͷ΄ͱΜͲ͋Γ·ͤΜ 134݄5༵ۚ
ࣗݾհ @matuyuji safx-dev.blogspot.jp 134݄5༵ۚ
SSPΞϓϦ ΰʔετ γεςϜߏ 134݄5༵ۚ
σεΫτοϓϚείοτ ِϖϧιφΣΞ Կ͔ɻ(Ծ) → ͔ SAKURA Script Player → SSP
ِྛޝ (Mac OS X 10.6·Ͱ) 134݄5༵ۚ
ΰʔετ Jenkins Hudson 134݄5༵ۚ
γεςϜߏ Jenkins SSP SomeProject NotifyWithSSTP Ghost SSTP Ghost 134݄5༵ۚ
SSTPϓϩτίϧ SakuraεΫϦϓτ SSP/SSTP ʹ͍ͭͯ 134݄5༵ۚ
ΒͤΔ ϙʔτ9801ʹจࣈྻΛૹΓࠐΉ $ cat notify NOTIFY SSTP/1.1 Charset: UTF-8 Sender:
Jenkins-Server Script: \0Ϗϧυʹࣦഊ͠·ͨ͠ɻ\e $ nc 127.0.0.1 9801 < notify SSTP/1.1 200 OK 134݄5༵ۚ
Demo 134݄5༵ۚ
SakuraεΫϦϓτ \0 ϝΠϯΩϟϥΫλΛࢦఆ \1 αϒΩϟϥΫλΛࢦఆ \v ΰʔετΛશ໘ʹҠಈ \w# ΣΠτ \s#
αʔϑΣε ද มߋ \_a[] ΞϯΧʔ࡞ \q[] ࣭࡞ ΄͔ɺͨ͘͞Μ 134݄5༵ۚ
දΛม͑Δ 0: ૉ 1: রΕ 2: ڻ͖ 3: ෆ҆ 4:
མͪࠐΈ 5: ඍসΈ 6: ด͡ 7: ౖΓ 8: ྫྷস 9: রΕౖΓ 134݄5༵ۚ
SSTP IANAͷRegistered Port Numbersʹొ͋Γ sstp-1 7743/tcp Sakura Script Transfer Protocol
sstp-1 7743/udp Sakura Script Transfer Protocol sstp-2 9801/tcp Sakura Script Transfer Protocol-2 sstp-2 9801/udp Sakura Script Transfer Protocol-2 134݄5༵ۚ
Jenkinsͱͷ ࿈ܞ 134݄5༵ۚ
Jenkins → SSP SomeProject NotifyWithSSTP Parameterized Trigger plugin 134݄5༵ۚ
\0\v\s4\f[height,36]...Ϗϧυʹࣦഊ͠·ͨ͠ɻ \w9\s7\![move,300,0,1000,me]\![move,-300,0,1000,me] \s0\1\f[height,24]\ͤɻ\n \_a[${UPSTREAM_BUILD_URL}]${UPSTREAM_JOB_NAME}\_a\e 134݄5༵ۚ
ΰʔετͷߏ MacͰಈ͔͢ ͦͷଞ 134݄5༵ۚ
ΰʔετͷߏ Shiori Event OnBoot OnAITalk Shiori.dll ཬʑ YAYA (C-like) ը૾ͷఆٛ
ணͤସ͑ Ξχϝʔγϣϯ shell ghost 134݄5༵ۚ
MouseDoubleClick_0Head { ! "\1\s[10]\0\s[0] \![execute,http-get,http://127.0.0.1:8080/job/ AlwaysFailed/build?token=foobar] ಄ΛμϒϧΫϦοΫ͞ΕͨͷͰɺϏϧυΛ։࢝͠·͢ɻ\e" } ΠϕϯτఆٛϑΝΠϧʹهड़ Πϕϯτ
$ nc -l 127.0.0.1 8080 GET /job/AlwaysFailed/build?token=foobar HTTP/1.1 Host: 127.0.0.1:8080 User-Agent: SSP/2.2.99 (20130204-14; Windows NT 5.1) Accept-Encoding: gzip,deflate Connection: close Accept-Charset: utf-8,* Accept: text/*,*/* 134݄5༵ۚ
ಠࣗΠϕϯτ OnBuildFailed { "\0\vϏϧυʹࣦഊ͠·ͨ͠ɻ\1ͳΜͱ͔͠Ζ\e" } $ nc 127.0.0.1 9801 <<EOF
NOTIFY SSTP/1.1 Sender: Jenkins-Server Event: OnBuildFailed EOF SSTP/1.1 200 OK ΠϕϯτఆٛϑΝΠϧʹهड़ 134݄5༵ۚ
ڥม MouseDoubleClick_1 { ! "\0ࢲͷ໊લ%selfnameͰ͢ɻ\n ࠓ %month ݄ %day Ͱ͢ɻ\e"
} 134݄5༵ۚ
Mac্ͰSSPΛಈ͔͢ ॳճىಈ࣌ͳͲʹਅͬ ࠇʹͳΔͷΛ͙ JenkinsͷσϑΥϧτγΣϧΛzshʹ͢Δ ($JOB_NAME͕ͳ͔ۭͥʹͳΔରࡦ) എܠΛಁաʹ 134݄5༵ۚ
·ͱΊ 134݄5༵ۚ
·ͱΊ SSPΛར༻ͯ͠JenkinsͷΰʔετΛ࡞ͨ͠ JenkinsͷϏϧυࣦഊΛ௨Ͱ͖ΔΑ͏ʹͨ͠ 134݄5༵ۚ
ࢀߟࢿྉ SSP: http://ssp.shillest.net/ YAYA: http://emily.shillest.net/ayaya/index.php UkaDoc: https://ukadoc.googlecode.com/svn/ trunk/manual/index.html 134݄5༵ۚ
͓͠·͍ 134݄5༵ۚ