Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
ペパボを支える大統一CI基盤と人々
Yoshihide Taniguchi
October 27, 2016
Technology
2
2.8k
ペパボを支える大統一CI基盤と人々
http://plaidtech.connpass.com/event/41401/
2016/10/27 【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜
Yoshihide Taniguchi
October 27, 2016
Tweet
Share
More Decks by Yoshihide Taniguchi
See All by Yoshihide Taniguchi
gs3
1
250
gs3
0
280
gs3
3
880
gs3
2
94k
gs3
20
4.2k
gs3
1
1.8k
gs3
1
1.2k
gs3
1
1.3k
gs3
0
1.9k
Other Decks in Technology
See All in Technology
kaniza
0
120
dena_tech
0
180
benzookapi
1
450
uzabasetech
2
770
akitok_
2
790
udonyuya
1
570
swoon
1
630
ippey
2
210
piazza
0
130
kahara33
0
120
tricknotes
1
140
go5paopao
4
540
Featured
See All Featured
lauravandoore
437
28k
denniskardys
219
120k
jakevdp
775
200k
chriscoyier
683
180k
sachag
267
17k
morganepeng
18
1.2k
bryan
100
11k
reverentgeek
167
7.3k
colly
188
14k
scottboms
251
11k
cassininazir
347
20k
holman
447
130k
Transcript
d1FQBCPY$*d :PTIJIJEF5"/*(6$)* ϓϨΠυYϖύϘ߹ಉษڧձ ϖύϘΛࢧ͑Δ େ౷Ұ$*ڥͱਓʑ
ࠓ͢͜ͱ w$*ڥͷҰྫͱͯ͠ϖύϘͷ$*ڥΛհ wมભ wࠓͷશମ૾ wݱͷ w՝
ࠓ͞ͳ͍͜ͱ w$*ͱԿ͔ɺ$*ͷྺ࢙ wେ౷Ұ$*ج൫ͷ࡞Γํ wϞόΠϧΞϓϦͷ$*
☺ ࠓޙ$*Λߟ͑Δࡍͷ ҰॿͱͳΕخ͍͠Ͱ͢
@ravelll :PTIJIJEF5"/*(6$)*
wΞϓϦέʔγϣϯͷػೳ։ൃ wΞϓϦέʔγϣϯج൫ͷอक w։ൃج൫ͷվળ &$ج൫νʔϜ Χϥʔϛʔγϣοϓ
8&`3&)*3*/(
1FQBCP ʷ $*
d
l֤Ґɺ͍͍͔Μ͡ʹz
֤Ґ͍͍͔Μ͡ʹΔ࣌ ֤νʔϜ͕ࣗ༝ʹ$*ڥΛબɾಋೖ͍ͯͨ͠ w+FOLJOT XFSDLFS 5SBWJT$* 4IJQQBCMF ʜ wݟ͕νʔϜ͝ͱʹಠཱͯ͠ੵ ⾣ࠔͬͯΔਓ͕͍ͯॿ͚ΒΕͳ͍ ⾣ଟ͘ͷਓ͕ཕΛ౿Ή
d
l֤Ґɺͳ͔Α͘z
None
[ ] 0%
[## ] 40%
[#### ] 90%
None
֤Ґͳ͔Α͘Δ࣌ શϦϙδτϦͰ౷Ұతʹ͑Δ$*ج൫ͷొ ‣ΈΜͳ͕͏͔ΒࠔͬͨΒ୭ʹͰॿ͚ΛٻΊΒΕΔ ‣ΈΜͳ͕͏͔ΒϞϦϞϦݟ͕ཷ·Δ ‣ҟಈ࣌ͷֶशίετ͕গͳ͍
$*ج൫ͷߏ
drone.io
IUUQXXXTMJEFTIBSFOFUVE[VSBESPOFJP
ESPOFJP w(Pɺ044൛ͱ)PTUJOH൛͕͋Δ w ϖύϘͰ044൛ΛGPSLͯͬͯ͠ΔʢWFSʣ w:BNMʢESPOFZNMʣʹ$*ͷλεΫΛهड़ɺϦϙδτϦͰཧ w ςετͷϙʔλϏϦςΟˢˢ w%PDLFSίϯςφΛϫʔΧʔͱͯ͠δϣϒΛ࣮ߦ w ֤νʔϜ͕Ϗϧυͨ͠$*༻%PDLFSΠϝʔδΛ
ϓϥΠϕʔτϨδετϦܦ༝ͰͬͯΔʢޙͰઆ໌ʣ
ESPOFZNM --- build: image: docker.pepabo.com/colorme/colorme-docker:0.0.1 environment: - ENV=test commands: -
./vendor/bin/phpunit - bundle install --without=production --path vendor/bundle - bin/rake spec notify: slack: webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZx username: drone channel: "#colorme" when: success: true failure: true
ESPOFZNM --- build: image: docker.pepabo.com/colorme/colorme-docker:0.0.1 environment: - ENV=test commands: -
./vendor/bin/phpunit - bundle install --without=production --path vendor/bundle - bin/rake spec notify: slack: webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZx username: drone channel: "#colorme" when: success: true failure: true $*ʹ͏%PDLFSJNBHFΛࢦఆ
ESPOFZNM --- build: image: docker.pepabo.com/colorme/colorme-docker:0.0.1 environment: - ENV=test commands: -
./vendor/bin/phpunit - bundle install --without=production --path vendor/bundle - bin/rake spec notify: slack: webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZx username: drone channel: "#colorme" when: success: true failure: true ڥมΛઃఆ
ESPOFZNM --- build: image: docker.pepabo.com/colorme/colorme-docker:0.0.1 environment: - ENV=test commands: -
./vendor/bin/phpunit - bundle install --without=production --path vendor/bundle - bin/rake spec notify: slack: webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZx username: drone channel: "#colorme" when: success: true failure: true ࣮ߦ͢ΔίϚϯυ
ESPOFZNM --- build: image: docker.pepabo.com/colorme/colorme-docker:0.0.1 environment: - ENV=test commands: -
./vendor/bin/phpunit - bundle install --without=production --path vendor/bundle - bin/rake spec notify: slack: webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZx username: drone channel: "#colorme" when: success: true failure: true ݁ՌΛ4MBDLʹ௨
ϓϥΠϕʔτ%PDLFSϨδετϦ w%PDLFSΫϥελʢ%PDLFS4XBSNʣΛߏங͢ΔͨΊ༻ҙ w$*༻ͷ%PDLFSΠϝʔδΛQVTI͓ͯ͘͠ wެ։ͨ͘͠ͳ͍%PDLFSΠϝʔδ҆৺҆શ
1. push 0. docker build && docker push 3. pull
devs repos private
ݱͷ
ར༻ྫɿΧϥʔϛʔγϣοϓ ϦϙδτϦݸʢ$*Λར༻͍ͯ͠Δͷ͕ʣ ։ൃऀਓʢΤϯδχΞ σβΠφʔʣ ༻్ࣗಈςετʢ1)1 3VCZ +BWB4DSJQUʣ ڥͷભҠ+FOLJOTˠESPOF
ϦϦʔεϑϩʔ τϐοΫϒϥϯνͰ։ൃ ͨ͠ΒϨϏϡʔґཔ $*ςετ௨ͬͯΔ ϨϏϡʔ0, ͳΒNBTUFSʹϚʔδɺσϓϩΠ ˝ ˝ QVTI͞ΕͨΒςετ
ଓʑͱςετ͕ߦΘΕ͍ͯ͘෩ܠ
௨ͷ͋Δ෩ܠ
ڥΛҠߦͯ͠ͷॴײ w$*ڥࣗମͷτϥϒϧ͕ݮͬͨ w+FOLJOTͷࠒϓϥάΠϯͷόʔδϣϯΞοϓͰڥյ͢ͷ͕ྲྀߦͬͯͨ w ࠓ0⒏DJBMͷ%PDLFS*NBHF͋Δ͠αοͱ࠶ߏஙͰ͖ͯࠔΒͳͦ͏ wࠔͬͨͱ͖୭ʹͰ࣭Ͱָ͖ͯ w։ൃऀ༻νϟϯωϧͰࡶʹ࣭͢ΔͱҰॠͰղܾ͢Δ wͦͦࠔΔػձ͕ܹݮͨ͠
༏͍͠ੈք
՝
ESPOFଆͷ՝ %PDLFSଆͷ՝ ݱͷ՝
ESPOFଆͷ՝ w༻ྔʹԠͨ͡Ϧιʔε੍ޚ wεέδϡʔϥ͕ಉ࣌ىಈδϣϒ੍͔͠ݶͰ͖ͳ͍ w֤δϣϒͷϦιʔε༻ྔʹԠ੍ͨ͡ݶ͕͍ͨ͠
%PDLFSଆͷ՝ wNBTUFSͷ%PDLFSσʔϞϯͷ༻ϝϞϦ͕ଠ͍ͬͯ͘ w͍ํͷʁ wDSPOͰఆظతʹ࠶ىಈͯ͠ରԠத wͦͦϝϞϦ͕૿͑ଓ͚ͳ͍ΈΛ࡞Γ͍ͨ
ݱͷ՝ w%PDLFSͷཧղ w֓೦ૢ࡞ํ๏Λ͋·ΓΒͳ͍ਓͦΕͳΓʹ͍Δ wগͷ༗ࣝऀ͔͠ϝϯςφϯε͠ͳ͍%PDLFSpMF wνʔϜͰϋϯζΦϯΔͱྑͦ͞͏
·ͱΊ wϖύϘͷେ౷Ұ$*ڥΛհ͠·ͨ͠ wνʔϜ͝ͱͷڥ͔Β౷Ұڥͷมભ w౷Ұ$*ج൫ͷશମ૾ w$*ج൫Λར༻͢Δݱͷ w$*ج൫ͱݱͷ՝
&/+0: %&7&-011*/( 8*5)$*