Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
800
Go + QtでiOS アプリ開発
matuyuji
0
410
@_specialized なお話し
matuyuji
0
500
Xcode Souce Code Extensionを使ってみた
matuyuji
0
410
Codebeatを 試してみた
matuyuji
0
790
React Nativeで UIコンポーネントをつくる
matuyuji
0
1k
React Nativeを使ってみた
matuyuji
0
1.4k
SwiftでLens
matuyuji
1
1k
Other Decks in Technology
See All in Technology
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
210
RAG/Agent開発のアップデートまとめ
taka0709
0
180
第4回 「メタデータ通り」 リアル開催
datayokocho
0
130
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.6k
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.6k
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
190
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
2
260
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
150
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.4k
文字列の並び順 / Unicode Collation
tmtms
3
590
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
200
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
210
Featured
See All Featured
Building an army of robots
kneath
306
46k
4 Signs Your Business is Dying
shpigford
186
22k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Automating Front-end Workflow
addyosmani
1371
200k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
A Modern Web Designer's Workflow
chriscoyier
698
190k
GraphQLとの向き合い方2022年版
quramy
50
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Why Our Code Smells
bkeepers
PRO
340
57k
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༵ۚ