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
楽楽明細でやってるChatOps/Development with ChatOps
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
A1
September 18, 2018
1.2k
0
Share
楽楽明細でやってるChatOps/Development with ChatOps
[Rakus Meetup Tokyo #1] 発表資料
https://rakus.connpass.com/event/97795/
A1
September 18, 2018
More Decks by A1
See All by A1
プロダクトのことは何でもNotebookLMに聞こう / NotebookLM for on boarding
eichisanden
2
130
Kotlin2でdataクラスの copyメソッドを禁止する/Data class copy function to have the same visibility as constructor
eichisanden
1
1k
短納期でローンチした新サービスをJavaで開発した話/launched new service using Java
eichisanden
6
4.2k
トラブルゼロで乗り切ったTypeScript移行/trouble-free TypeScript migration
eichisanden
3
3.7k
スクラム開発チームをLessでスケールさせた話/Scaling Scrum team with Less
eichisanden
0
6.2k
息の長いサービスのフロントエンドを少し改善する営み/frontend-improvement
eichisanden
3
3.1k
実はGitLabで使えるmermaid.js/gitlab-mermaid.js
eichisanden
1
820
既存 Web アプリケーションへの React.js 適用/react for web application
eichisanden
0
1.9k
jshell概要
eichisanden
0
110
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Invisible Side of Design
smashingmag
302
52k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Technical Leadership for Architectural Decision Making
baasie
3
330
The Curse of the Amulet
leimatthew05
1
11k
Thoughts on Productivity
jonyablonski
76
5.1k
How to make the Groovebox
asonas
2
2.1k
Bash Introduction
62gerente
615
210k
Typedesign – Prime Four
hannesfritz
42
3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Transcript
ָָ໌ࡉͰͬͯΔ $IBU0QT 3BLVT.FFUVQ5PLZP &JJDIJ.JUB
&JJDIJ.JUB !FJDIJTBOEFO.FNCFSTJODF ɹɹɹɹɹɹɹ୲ εϖγϟϦετ৬ ΧΠθϯ͓͡͞Μ+FOLJOTͷ൪ਓϙέϞϯ͓͡͞Μ
গਓͰ։ൃ͔Βӡ༻·Ͱ͜ͳ͢ ͨΊʹɺ͍͔ʹϧʔνϯϫʔΫ ʹ͔͚Δ࣌ؒΛݮΒ͠ɺίʔυΛ ॻ࣌ؒ͘Λ࡞Δ͔͕ॏཁ
ͦͷͨΊʹָָ໌ࡉνʔϜͰऔΓ ΜͰ͖ͨΧΠθϯͷͻͱͭɺ $IBU0QTʹ͍͓ͭͯ͠͠·͢
πʔϧඋظ w ࣗͨͪͷ։ൃɾӡ༻ָ͕ʹͳΔεΫϦϓτΛ࡞ w ϏϧυσϓϩΠʢݕূڥʣΛ+FOLJOTʹඋͨ͠Γ
ָʹͳΓ·͕ͨ͠ɺ৽ͨͳ՝͕ʜ w +FOLJOTΛ͍͍ͪͪ։͘ͷ໘͍͘͞ w ͏͚ͩͷਓͷ+FOLJOTͷΞΧϯτΛ࡞Δͷ໘͍͘͞ w ͦͦΤϯδχΞʹ͔͑͠ͳ͍ʜ
ͦ͜Ͱ$IBU0QT
$IBU0QTͱ w l$IBUzʢνϟοτʣͱz0QTzʢӡ༻ʣͱ͍͏ͭͷϫʔ υΛֻ͚߹Θͤͨޠ w νϟοτͱ৭ΜͳαʔϏεɾϓϩάϥϜΛͭͳָ͛ͯ͠ ͍ͨʂ
8FVTF.BUUFSNPTU
҆৺͍ͯͩ͘͠͞ .BUUFSNPTUɺΦʔϓϯιʔεͷ4MBDLޓͷνϟοτ ˠࠓ͢༰ɺͦͷ··4MBDLͰੜ͔ͤ·͢
.BUUFSNPTU֎෦࿈ܞ̏छͷਆث 4MBDLͷz"QQzʹ֘͢Δͷͳ͍ͷͰɺ̏छྨͷ౷߹ػೳΛۦͯ͠%FW0QTΛ࣮ݱ͢Δ
ਆث͖ΣϒϑοΫ ɾνϟοτʹϝοηʔδΛૹΔͨΊͷઃఆ
ਆث͖ΣϒϑοΫ ɾ࡞͢ΔͱIPPLTUPLFOͷΑ͏ͳ63-͕ৼΒΕΔ
ਆثɿεϥογϡίϚϯυ w νϟοτ͔Β֎෦ʹ࿈ܞ͢ΔίϚϯυΛ࡞ΕΔ
࿈ܞઌͷ63-ɻ࣮ߦ͢Δͱ͜ͷ63-ʹݺͼݩ ͷνϟϯωϧίϚϯυͷҾͳͲͷใ͕ +40/Ͱ͞ΕΔ ਆثɿεϥογϡίϚϯυ ίϚϯυ໊͜ͷྫXCͰ࣮ߦͰ͖Δ (&5Ͱ1045Ͱ͓͖ͳํͰ
ਆثɿ֎͖ΣϒϑοΫ Ԡ͢ΔϫʔυΛࢦఆ τʔΫϯ͕ൃߦ͞ΕΔͷͰ߇͓͑ͯ͘ ࿈ܞઌͷ63-Λࢦఆ w νϟοτͰͬͨϫʔυΛरͬͯ֎෦ʹ࿈ܞ͢Δ
w ͨͩ͠ɺ֎͖ΣϒϑοΫύϒϦο ΫνϟϯωϧͰ͔͑͠ͳ੍͍͕͋Γ ฐࣾͷ֤αʔϏεͷνϟϯωϧϓϥΠ ϕʔτͳͷͰ͑ͳ͍͜ͱ͕໌
̎छͷਆثΛͬͯઃఆ͍ͯ͘͠
εϥογϡίϚϯυͰ+FOLJOTΛݺΜͰΈͨʢࣦഊʣ w εϥογϡίϚϯυͷଓઌʹ+FOLJOTͷ63-Λࢦఆ w ਖ਼ৗ࣮ߦ࣌ɺ+FOLJOT͕zDSFBUFEzΛฦ͖ͯ͠ ·͕͢ɺ.BUUFSNPTU͕Τϥʔͱͯ͠ѻͬͯͯ͠͠· ͍ࣦഊʢ̌൪ਖ਼ৗऴྃͩΖ͕ʂʣ
εϥογϡίϚϯυΛதܧ͢Δ w ͦ͜ͰɺεϥογϡίϚϯυΛҰ୴ड͚͚ͭͯɺ +FOLJOTʹ͢ΈΛ࡞Δ͜ͱʹ Ͱɺ͜ͷͨΊʹ͔Β"1*αʔόʔཱͯΔͷ໘ष͍
ͦ͜Ͱ)VCPU
)VCPU w (JU)VC͕ެ։͍ͯ͠ΔCPUπʔϧ w ͓ͦΒ͘Ұ൪ϝδϟʔͰɺΞμϓλʔεΫϦϓτ͕๛ w વɺ.BUUFSNPTU4MBDLͷΞμϓλʔ͋Δ w $P⒎FFεΫϦϓτͷΠϝʔδ͕ڧ͍͕ɺී௨ʹKTͰॻ͚ Δ
w ଂ͍ͯ͠Δ&YQSFTTΛ͏·͑͘"1*αʔόʔΛผ ్ཱͯΔඞཁ͕ͳ͍ʢ͜Ε͕ܾΊखʣ
)VCPU w τϨϯυʹහײͳʹ͝Ζྲྀߦͬͨͱࢥ͏͕ɺͦͷޙࠜڧ͘ਓؾΛҡ͍࣋ͯ͠ Δҹ w ޙൃௐ͕ͨɺγϯϓϧͩ͠ɺ͜ΕҰ൪ྑ͔ͬͨ
·͕ͨ w )VCPUͷ.BUUFSNPTUΞμϓλ͕ɺ֎͖Σϒ ϑοΫΛ͏લఏʹͳ͍ͬͯΔʢવͰ͕͢ʣ
ͦ͜Ͱ w εϥογϡίϚϯυΛड͚͚ɺͦΕΛ֎͚Σϒ ϑοΫͰड͚औ͔ͬͨͷΑ͏ʹ)VCPUʹϝοηʔδΛ ྲྀ͢)VCPUͷϓϥάΠϯΛࣗ࡞͠·ͨ͠
IUUQTXXXOQNKTDPNQBDLBHFIVCPUTMBTIDPNNBOE
γεςϜߏ ͜͜ͷ෦ࣗ࡞ͷ044ͰOQNʹެ։ࡁΈ ී௨ͷ)VCPUεΫϦϓτͰॻ͚Δ͠ɺ 044ͷεΫϦϓτ͑Δ SFTQPOTFNFTTBHF +PCݺͼग़͠
044ͷ)VCPUεΫϦϓτ͕͑Δͼ IUUQTHJUIVCDPNIVCPUTDSJQUTIVCPUQVHNF
)VCPUεΫϦϓτͷྫ module.exports = (robot) => { robot.respond(/ping/i, (res) => {
rebot.reply(‘pong’); } robot.respond(/σϓϩΠΑΖ͘͠/i, (res) => { // JenkisΛݺͼग़͠ } }
׆༻ࣄྫ
ݕূڥͷ࡞ w XCTDIFNBDSFBUFαʔόʔڥ໊ʜͷΑ͏ʹνϟοτ͢Δͱ ݕূڥΛ࡞ΕΔίϚϯυΛ࡞ͨ͠ʢཪͰ+FOLJOTʹ࿈ܞͯ͠%#ε ΩʔϚΛ࡞ͬͨΓɺσΟϨΫτϦߏΛ࡞ͬͨΓ͍ͯ͠Δʣ w আXCEFMFUFαʔόʔڥ w ୭ͰՃɾআ͕ՄೳʹʢҎલ݁ߏґཔ͞Ε͍ͯͨʣ
"1*Λνϟοτ͔Βୟ͚ΔΑ͏ʹ w ָָ໌ࡉͰ༻ҙ͍ͯ͠Δ"1*Λνϟοτ͔Βୟ͚Δ Α͏ʹͨ͠ɻ w ඇΤϯδχΞͷΘΓʹDVSMΛୟ͍ͯ͋͛Δ࡞ۀ͕ ͳ͘ͳͬͨ
੩తղੳ w ੩తղੳͷ݁ՌΛνϟοτʹ௨͢ΔΑ͏ʹͨ͠ɻ w ΈΜͳݟ͍ͯΔͷͰɺ์ஔ͞Εؾຯͳ੩తղੳΛӡ ༻Ͱ͖ΔΑ͏ʹͳͬͨ
ϦϦʔεதͷόʔδϣϯΛνΣοΫ w Կे͋ΔαʔόʔΛεΫϨΠϐϯά࣮ͯ͠ࡍʹ σϓϩΠ͞Ε͍ͯΔΞϓϦͷόʔδϣϯΛௐΔπʔ ϧΛνϟοτ͔Β࣮ߦͰ͖ΔΑ͏ʹɻ w ສ͕ҰͷϦϦʔε࿙ΕΛ͍͛ͯΔ w ݩʑ͋ͬͨQZUIPOεΫϦϓτΛνϟοτ͔Βݺͼ ग़ͤΔΑ͏ʹ͚ͨͩ͠ʢεΫϦϓτͷग़ྗΛͦͷ·
·νϟοτʹग़ྗ͚ͨͩ͠ɺ΄΅࿑ྗθϩͰ࣮ݱʣ
ϦϦʔεϞδϡʔϧͷϏϧυ w νϟοτͰΔ͜ͱͰɺݸਓ͕ͬͯΔ͜ͱ͕Մ ࢹԽɾڞ༗͞ΕΔͷྑ͔ͬͨ w Θ͟Θ͟+FOLJOTʹϩάΠϯͤͣͱՌΛ νϟοτ͔ΒμϯϩʔυͰ͖Δ
͕ى͖ͨΒଈରԠ w Կ͔͋ͬͯɺνϟοτΛݟ͍ͯΔΤϯδχ Ξ͕ଈରԠͯ͘͠ΕΔ҆৺ײ
৭Μͳ௨Λνϟοτʹू w ϝʔϧΛසൟʹ։͘ͷਏ͍ͷͰɺࠓ··Ͱϝʔ ϧͰͷ௨Λνϟοτʹूʢνϟοτͷྲྀྔ͕ ૿͖͑ͯͨΒผͷ՝͕ग़ͦ͏͕ͩݱঢ়շదʣ
͍͞͝ʹ w طଘͷπʔϧΛνϟοτͭͳָ͛ͯΛ͠Α͏ w αʔϏε֎ͷίʔσΟϯάָ͍͠ w ָΛ͢ΔͨΊͷۤ࿑Λ͠Α͏ w $IBUͰ५ͳίϛϡχέʔγϣϯΛ
͋Γ͕ͱ͏͍͟͝·ͨ͠