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
How We Use Jenkins?
Search
Naoto Takai
January 12, 2015
Programming
21
8.5k
How We Use Jenkins?
At Jenkins user conference 2015 Tokyo
Naoto Takai
January 12, 2015
Tweet
Share
More Decks by Naoto Takai
See All by Naoto Takai
Building the Perfect Custom Keyboard
takai
1
620
キースイッチ潤滑入門 / A Brief Introduction to Lube MX Switches
takai
2
800
みなさん、分かっていますか / What is a difference?
takai
1
920
The Design Philosophy of Kuroko2
takai
3
2.2k
Agile and DevOps with Ruby
takai
2
1.1k
Software Quality and Testing #1
takai
6
680
Microservices in Action
takai
37
5.4k
Ruby App on Netflix Microservices Stack
takai
6
1.1k
COOKPAD and Test Automation
takai
19
2.8k
Other Decks in Programming
See All in Programming
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
710
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
460
ソフトウェアテスト徹底指南書の紹介
goyoki
1
150
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
270
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
280
rage against annotate_predecessor
junk0612
0
160
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
380
AIエージェント開発、DevOps and LLMOps
ymd65536
1
390
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
260
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
1.9k
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
240
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
19
11k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
How STYLIGHT went responsive
nonsquared
100
5.8k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Fireside Chat
paigeccino
39
3.6k
RailsConf 2023
tenderlove
30
1.2k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Making Projects Easy
brettharned
117
6.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
It's Worth the Effort
3n
187
28k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Transcript
ΫοΫύουʹ͓͚Δ+FOLJOTͷ׆༻
None
݄ؒར༻ऀͷ ສਓҎ্ ϨγϐສҎ্
3VCZ 3VCZPO3BJMT "NB[PO8FC4FSWJDFT
݁ɿ;ͭ͏ʹ͍ͯ͠Δ
ΫοΫύουͰ +FOLJOTΛ͍ͬͯ·ͤΜ ͓ͼ
͓Ή͖Μ͢
DJTMBWFEPDLFS DJTMBWFSVCZ OPEFT DJTMBWFBOESPJE DJTMBWFJPT DJNBTUFS SSSTQFDNBTUFS SSSTQFDXPSLFS "84 0OQSFNJTFT
ϚελɾεϨʔϒߏ w αʔόߏཧ1VQQFUʗ*UBNBF w ϓϥοτϑΥʔϜɾϛυϧΣΞ w ΫϥυͱΦϯϓϨϛεڥ w ϥϕϧͰϊʔυΛཧ
DJTMBWFSVCZ w "84্Ͱϊʔυ͕Քಈ w ؒϊʔυʹॖୀӡస w SCFOWͰ3VCZόʔδϣϯཧ ϥϕϧͰϥΠϒϥϦΛղܾ
STQFD describe SymbolStack do ... context 'when stack is empty'
do subject(:empty_stack) { SymbolStack.new } describe '#size' do it { expect(empty_stack.size).to eq 0 } end
DBQZCBSBXFCLJU feature 'User login' do scenario 'successful login' do visit
login_path fill_in 'Login', with: '
[email protected]
' fill_in 'Password', with: 'password' click_link 'Submit' expect(current_path).to root_path end
DJTMBWFEPDLFS w %PDLFS&OHJOF༻$*ڥ w ϏϧυɾςετɾϨδετϦొ
DJTMBWF\BOESPJE JPT^ w ΦϑΟεͷαʔόϧʔϜʹઃஔ w "OESPJE࣮ػͰςετ w 9DPEFͷόʔδϣϯཧͰྀۤ
DJTMBWFEPDLFS DJTMBWFSVCZ OPEFT DJTMBWFBOESPJE DJTMBWFJPT DJNBTUFS SSSTQFDNBTUFS SSSTQFDXPSLFS "84 0OQSFNJTFT
ͳͥɺ$*Λ͍ͯ͠Δͷ͔ʁ
ʮຖͷྉཧΛָ͠Έʹʯ
ߏங͢Δ ܭଌ͢Δ ֶͿ σʔλ ΞΠσΞ
ҙਤ͠ͳ͍มߋΛ༧Ͱ͖Δ ࠶ݱՄೳͰࣗಈԽ͞Ε͍ͯΔ ϦιʔεใΛूͰ͖Δ ʹ$*ͰकΔ͖Ձ
ҙਤ͠ͳ͍มߋΛ༧Ͱ͖Δ ɾλʔϯΞϥϯυΛ͔͘͢Δ ɾ͙͢ʹࣦഊΛ͑Δ ɾෆ۩߹Λ์ஔͤ͞ͳ͍
։ൃऀेʹၗຫͳͷͰɺ ͰΠϥΠϥ͠ɺͰΩϨΔɻ
w ϚϧνϓϩηεԽʢQBSBMMFM@UFTUTʣ w ࢄԽ w ୈ̍ੈSFNPUF@TQFD w ୈ̎ੈSFNPUF@TQFD w SSSTQFD
None
None
εϙοτΠϯελϯεΛར༻ ϓϩηεఀࢭ͔Βͷࣗಈ෮ؼ ࣦഊͨ͠ςετͷࣗಈ࠶࣮ߦ ςετ࣮ߦॱংͷ࠷దԽ ͔͔࣌ؒΔςετͷػత࣮ߦ
Φʔϓϯιʔε
None
ҙਤ͠ͳ͍มߋΛ༧Ͱ͖Δ ɾλʔϯΞϥϯυΛ͔͘͢Δ ɾ͙͢ʹࣦഊΛ͑Δ ɾෆ۩߹Λ์ஔͤ͞ͳ͍
3334QFD$*'BJMFEFYBNQMFTPGDPPLQBE@SSSTQFD SSSTQFDUBTLTFUCCGECGD STQFDTQFDDPOUSPMMFSTNZ@DPOUSPMMFS@TQFDSC EC "MJDF$PPQFS NPOUITBHP STQFDTQFDDPOUSPMMFSTNZ@DPOUSPMMFS@TQFDSC
DDBD #PC.BSMFZ NPOUITBHP STQFDTQFDDPOUSPMMFSTNZ@DPOUSPMMFS@TQFDSC DBGC $IBSMJF1BSLFS NPOUITBHP +FOLJOTDPPLQBE@SSSTQFD'"*-63&BGUFSҎ্ 0QFO +FOLJOT$IBOHFECZ!EBWF!FWF KFOLJOTIJQDIBUQVCMJTIFS SSSTQFD
None
KFOLJOTIJQDIBUQVCMJTIFS w )JQ$IBU1MVHJOͱͷҧ͍ w +FOLJOTSC w ࣦഊ࣌ʹϝϯγϣϯ͢Δػೳ w ޭϏϧυΛ௨͠ͳ͍ػೳ
ҙਤ͠ͳ͍มߋΛ༧Ͱ͖Δ ɾλʔϯΞϥϯυΛ͔͘͢Δ ɾ͙͢ʹࣦഊΛ͑Δ ɾෆ۩߹Λ์ஔͤ͞ͳ͍
։ൃऀจԽͱن ɾίʔυͷڞಉॴ༗ʢPXOFSTIJQʣ ɾِཅੑɺׂΕ૭ཧ ɾܧଓతσϦόϦʔʢޙड़ʣ
l$PMMFDUJWF0XOFSTIJQFODPVSBHFTFWFSZPOFUP DPOUSJCVUFOFXJEFBTUPBMMTFHNFOUTPGUIF QSPKFDU"OZEFWFMPQFSDBODIBOHFBOZMJOFPG DPEFUPBEEGVODUJPOBMJUZ pYCVHT JNQSPWF EFTJHOTPSSFGBDUPS/PPOFQFSTPOCFDPNFTB CPUUMFOFDLGPSDIBOHFTl IUUQXXXFYUSFNFQSPHSBNNJOHPSHSVMFTDPMMFDUJWFIUNM
ِཅੑΛආ͚Δ ɾ࣌ؒʹґଘ͢Δͷ ɾΈ߹Θͤʹґଘ͢Δͷ ɾੑೳʹґଘ͢Δͷ
ِཅੑ͕͋Δͱʜʜ ɾΤϥʔΛؾʹ͠ͳ͘ͳͬͯ͠·͏ ɾຊͷΤϥʔΛݟಀͯ͠͠·͏ ˠϞϥϧԼɺڟѱ൜ࡑͷଟൃ
None
w ࠷ޙʹޭͨ͠ϏϧυΛ܁Γฦ͠ ࣮ߦͯ͠ΈΔ w ཌ݄ॳʹγεςϜ࣌ؒΛઃఆͯ͠ ࣮ߦͯ͠ΈΔ w ࣦഊͨ͠ςετΛ࠶࣮ߦͯ͠ΈΔ
ҙਤ͠ͳ͍มߋΛ༧Ͱ͖Δ ࠶ݱՄೳͰࣗಈԽ͞Ε͍ͯΔ ϦιʔεใΛूͰ͖Δ ʹ$*ͰकΔ͖Ձ
ʮͳͥ$*Λಋೖ͍ͯ͠ͳ͍ͷͰ͔͢ʁʯ ʮฐࣾͷΤϯδχΞҙ͕ࣝߴ͍ͨΊɺϩʔΧϧ ڥͰςετΛ࣮ߦͤͣʹɺϦϙδτϦʹιʔε ίʔυΛίϛοτ͠·ͤΜʢΩϦοʯ
ʮܧଓతσϦόϦʔιϑτΣΞ։ൃʹ͓͚Δ نͷͻͱͭͩɻʜʜܧଓతσϦόϦʔΛ࣮ݱ͢ Δʹɺ։ൃνʔϜ͕ιϑτΣΞΛܧଓతʹ౷ ߹͠ɺ࣮ߦϑΝΠϧΛϏϧυ͠ɺ͞ΒʹͦΕΛ ࣗಈతʹςετͯ͠Λݕग़͢Ε͍͍ɻʯ IUUQDBQTDUSMRVFKQLENTOSXJLJCMJLJ $POUJOVPVT%FMJWFSZ
ՌϦϙδτϦ όʔδϣϯίϯτϩʔϧ ιʔείʔυ ઃఆ ίϛοτεςʔδ ड͚ೖΕεςʔδ ड͚ೖΕςετ ڥઃఆɺσϓϩΠɺ εϞʔΫςετ ੑೳςετ
ڥઃఆɺσϓϩΠɺ εϞʔΫςετ ຊ൪ڥ ڥઃఆɺσϓϩΠɺ εϞʔΫςετ ίϯύΠϧ ίϛοτςετ Ռ࡞ ίʔυղੳ ڥઃఆ σϓϩΠ εϞʔΫςετ ड͚ೖΕςετ ઃఆ +F[)VNCMFɺ%BWJE'BSMFZʰܧଓతσϦόϦʔʱ
ʮτϤλੜ࢈ํࣜͰΘΕΔʰࣗಈԽʱɺχϯ ϕϯͷ͘ʰࣗಇԽʱͰ͢ɻʜʜʰࣗಇʱͱɺ ػցʹળ͠ѱ͠Λஅͤ͞ΔஔΛϏϧτΠϯ͠ ͨػցͰ͋Γɺʜʜʰҟৗ͕͋Εػց͕ࢭ·Δʱ ͜ͱͰɺෆྑੜ࢈͞ΕͣɺͻͱΓͰԿͷ ػցΛӡసͰ͖ΔͷͰɺੜ࢈ੑΛඈ༂తʹ্͞ ͤΔ͜ͱ͕Ͱ͖·ͨ͠ɻʯ IUUQXXXUPZPUBDPKQKQODPNQBOZWJTJPOQSPEVDUJPO@TZTUFNKJEPLBIUNM
$*ͰͷࣗಈԽ ɾςετͷࣗಈԽ ɾΞηοτͷੜͱཧͷࣗಈԽ ɾσϓϩΠͷࣗಈԽ ɾ௨ɾهͷࣗಈԽ
HJUIVC DJNBTUFS SSSTQFDNBTUFS SSSTQFDXPSLFS OPEFT HSPXUIGPSFDBTU NBNJZB BQQ
OPEFT IJQDIBU BQQTUBHJOH
None
ҙਤ͠ͳ͍มߋΛ༧Ͱ͖Δ ࠶ݱՄೳͰࣗಈԽ͞Ε͍ͯΔ ϦιʔεใΛूͰ͖Δ ʹ$*ͰकΔ͖Ձ
ϦιʔεใΛूͰ͖Δ ɾΞηοτͷੜͱཧ ɾ੩తղੳʢΧόϨοδɾηΩϡϦςΟʣ ɾهͱՄࢹԽ
DJNBTUFS SSSTQFDNBTUFS NBNJZB BQQTUBHJOH ΞηοτͷίϯύΠϧʢඞཁ࣌ʣ HJUIVC SSSTQFDͷ࣮ߦ มߋͷऔಘ Ξηοτอଘ Ξηοτ৴
None
$*ͷՁΛकΔߦಈ ɾҙਤ͠ͳ͍มߋΛ༧͢Δ ɾ࠶ݱՄೳͳΑ͏ʹࣗಈԽ͢Δ ɾϦιʔεใΛू͢Δ
;ͭ͏ʹ͍ͯ͠Δ ʹΔ͖͜ͱΛΔ ʹৗʹͦ͏͋ΔΑ͏ʹ͢Δ