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 と cron
Search
Yohei Kawahara
April 29, 2014
0
1.1k
Jenkins と cron
Jenkins で cron のジョブを見える化する!
Yohei Kawahara
April 29, 2014
Tweet
Share
More Decks by Yohei Kawahara
See All by Yohei Kawahara
20191002_CircleCIMeetupFukuoka#2
inokappa
1
690
kix_009_20190429
inokappa
0
740
2019-04-18 CircleCI Meetup Fukuoka #1
inokappa
2
7.7k
開発で使える AWS の API 操作を模倣する (OSS) ツールを探してみた/JAWS-UG Kagoshima Vol.8
inokappa
1
1k
隙間時間を使って exercism.io を始め隊 | リモートで勉強会 #2
inokappa
0
330
Congratulations fukuokarb#100
inokappa
0
3.7k
moto を 'もっと' 使おう/PyFukuoka#4
inokappa
0
4.2k
github-enterprise-user-kai-desuyone
inokappa
0
95
Elixir and AWS Tutorial
inokappa
0
490
Featured
See All Featured
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Gamification - CAS2011
davidbonilla
76
4.6k
Ruby is Unlike a Banana
tanoku
96
10k
Side Projects
sachag
451
41k
Faster Mobile Websites
deanohume
299
30k
It's Worth the Effort
3n
180
27k
A designer walks into a library…
pauljervisheath
200
23k
Web development in the modern age
philhawksworth
202
10k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
A better future with KSS
kneath
231
16k
Transcript
ςΩετ Jenkins ͱ cron Jenkins Ͱ cron ͷδϣϒΛݟ͑ΔԽ͠Α͏
୭ʁ @inokara
͓͢Δ͜ͱ ͜ΜͳΧΦεݟͨ͜ͱ͋Γ·͢ΑͶʁ cron δϣϒͷ݁Ռݟͯ·͔͢ʁ Jenkins ͬͯʁ Jenkins Ͱ cron ͷδϣϒΛݟ͑ΔԽ͠Α͏
σϞ
ಥવͰ͕͢…
ݟͨ͜ͱ͋Γ·͢ΑͶʁ
Ͳ͕͜ΧΦεʁ ͺͬͱݟͰԿͷδϣϒ͕ղΒͳ͍ ͺͬͱݟ୭͕ઃఆ͔ͨ͠ղΒͳ͍ ίϝϯτΞτͱ͔͞ΕͯΔ͠ ͦͦɺ݁ՌͬͯݟͯΔͷʁ
Ͱɺ݁Ռͬͯݟͯ·͔͢ʁ ͱΓࣦ͋͑ͣഊͨ͠ΒؔऀʹϝʔϧΛૹΔ /tmp/log ʹు͍͍ͯΔ͚ͩ…͔͠ /tmp/ /dev/null ʹϙʔΠ
͖͋·Μ͕ͳ…
ͦ͜Ͱ Jenkins ͷొʂ
None
Jenkins ͬͯʁʢ1ʣ ܧଓతͳΜͪΌΒʢContinuous integrationʣπʔ ϧͷҰͭ ςετͱ͔ύοέʔδϏϧυͱ͔ͰͬͯΔΑͶ όονΛ࣮ߦͯ͘͠ΕΔΑͶ ଞʹ৭ʑग़དྷΔΑʂৄ͘͠άάͬͯͶ
None
͑ɺͦͦ…Jenkins ͱ cron ͬͯ…
࿈ܞͬͯग़དྷΔͷʁ
ग़དྷ·͢ɻ
Jenkins ͬͯʁʢ2ʣ δϣϒͷεςʔλείʔυ 0 ͱͦΕҎ֎Ͱஅͯ͠ ·͢ 0 ͳΒSUCCESS 1 ຢͦΕҎ֎ͳΒ
FAILURE ͦͯ͠…
cron ͷ݁ՌΛόΠφϦΤϯίʔυͯ͠ XML ܗࣜͰεςʔλείʔυͱҰॹʹ POST ͢Δ ͱ݁ՌΛఆͯ͘͠ΕΔʂ
͏Ұ…
ʮ֎෦δϣϒͷࢹʯΛར༻ ݁ՌόΠφϦΤϯίʔυ εςʔλείʔυΛؚΊΔ XML ʹͯ͠ POST ͰϙΠ
<run> <log encoding="hexBinary">$(hexdump -v -e '1/1 "%02x"' $LOG)</log> <result>${RESULT}</result> <duration>${ELAPSED_MS}</duration>
</run>
σϞ
None
None
curl -X POST \ -d '<run><log encoding="hexBinary">4142430A</ log><result>0</result><duration>2000</ duration></run>' \
http://localhost:18080/jenkins/job/test/ postBuildResult
None
None
None
ͰɺԿ͕ΠΠͷʁ cron ͷδϣϒΛҰཡͰཧग़དྷΔ ͦΕͧΕͷδϣϒʹઆ໌͕͚ΒΕΔ ௨Λ Jenkins ʹͤΔ͜ͱ͕ग़དྷΔ ↑ʢͪΐ͍͕ඞཁʣ cron δϣϒͷॴཁ͕࣌ؒղΔ
·ͱΊ cron ͷδϣϒΧΦεʹͳΓ͕ͪ… δϣϒͷ݁Ռແࢹ͞Ε͕ͪ… Jenkins ͷδϣϒʹ݁ՌΛ POST ͢Ε݁ՌΛҰཡ ͰݟΔ͜ͱ͕ग़དྷΔʂ δϣϒͷઆ໌Λॻ͚
cron ʹઆ໌Λ͚Δ͜ͱ͕ग़ དྷΔͷͰ୭͕͍ͭͲͷΑ͏ʹઃఆ͔ͨ͠ղΔʂ
࣭ʂʁ