http://plaidtech.connpass.com/event/41401/
2016/10/27 【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜
d1FQBCPY$*d:PTIJIJEF5"/*(6$)*ϓϨΠυYϖύϘ߹ಉษڧձϖύϘΛࢧ͑Δେ౷Ұ$*ڥͱਓʑ
View Slide
ࠓ͢͜ͱ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ݟ͕νʔϜ͝ͱʹಠཱͯ͠ੵ⾣ࠔͬͯΔਓ͕͍ͯॿ͚ΒΕͳ͍⾣ଟ͘ͷਓ͕ཕΛ౿Ή
l֤Ґɺͳ͔Α͘z
[ ] 0%
[## ] 40%
[#### ] 90%
֤Ґͳ͔Α͘Δ࣌શϦϙδτϦͰ౷Ұతʹ͑Δ$*ج൫ͷొ‣ΈΜͳ͕͏͔ΒࠔͬͨΒ୭ʹͰॿ͚ΛٻΊΒΕΔ‣ΈΜͳ͕͏͔ΒϞϦϞϦݟ͕ཷ·Δ‣ҟಈ࣌ͷֶशίετ͕গͳ͍
$*ج൫ͷߏ
drone.io
IUUQXXXTMJEFTIBSFOFUVE[VSBESPOFJP
ESPOFJPw(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.1environment:- ENV=testcommands:- ./vendor/bin/phpunit- bundle install --without=production --path vendor/bundle- bin/rake specnotify:slack:webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZxusername: dronechannel: "#colorme"when:success: truefailure: true
ESPOFZNM---build:image: docker.pepabo.com/colorme/colorme-docker:0.0.1environment:- ENV=testcommands:- ./vendor/bin/phpunit- bundle install --without=production --path vendor/bundle- bin/rake specnotify:slack:webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZxusername: dronechannel: "#colorme"when:success: truefailure: true$*ʹ͏%PDLFSJNBHFΛࢦఆ
ESPOFZNM---build:image: docker.pepabo.com/colorme/colorme-docker:0.0.1environment:- ENV=testcommands:- ./vendor/bin/phpunit- bundle install --without=production --path vendor/bundle- bin/rake specnotify:slack:webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZxusername: dronechannel: "#colorme"when:success: truefailure: trueڥมΛઃఆ
ESPOFZNM---build:image: docker.pepabo.com/colorme/colorme-docker:0.0.1environment:- ENV=testcommands:- ./vendor/bin/phpunit- bundle install --without=production --path vendor/bundle- bin/rake specnotify:slack:webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZxusername: dronechannel: "#colorme"when:success: truefailure: true࣮ߦ͢ΔίϚϯυ
ESPOFZNM---build:image: docker.pepabo.com/colorme/colorme-docker:0.0.1environment:- ENV=testcommands:- ./vendor/bin/phpunit- bundle install --without=production --path vendor/bundle- bin/rake specnotify:slack:webhook_url: https://hooks.slack.com/services/ABC123DEFG/987ZYX/sBdiCpG7hZxusername: dronechannel: "#colorme"when:success: truefailure: true݁ՌΛ4MBDLʹ௨
ϓϥΠϕʔτ%PDLFSϨδετϦw%PDLFSΫϥελʢ%PDLFS4XBSNʣΛߏங͢ΔͨΊ༻ҙw$*༻ͷ%PDLFSΠϝʔδΛQVTI͓ͯ͘͠wެ։ͨ͘͠ͳ͍%PDLFSΠϝʔδ҆৺҆શ
1. push0. docker build && docker push3. pulldevs reposprivate
ݱͷ
ར༻ྫɿΧϥʔϛʔγϣοϓϦϙδτϦݸʢ$*Λར༻͍ͯ͠Δͷ͕ʣ։ൃऀਓʢΤϯδχΞσβΠφʔʣ༻్ࣗಈςετʢ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গͷ༗ࣝऀ͔͠ϝϯςφϯε͠ͳ͍%PDLFSpMFwνʔϜͰϋϯζΦϯΔͱྑͦ͞͏
·ͱΊwϖύϘͷେ౷Ұ$*ڥΛհ͠·ͨ͠wνʔϜ͝ͱͷڥ͔Β౷Ұڥͷมભw౷Ұ$*ج൫ͷશମ૾w$*ج൫Λར༻͢Δݱͷw$*ج൫ͱݱͷ՝
&/+0:%&7&-011*/(8*5)$*