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
ペパボを支える大統一CI基盤と人々
Search
Yoshihide Taniguchi
October 27, 2016
Technology
4.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ペパボを支える大統一CI基盤と人々
http://plaidtech.connpass.com/event/41401/
2016/10/27 【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜
Yoshihide Taniguchi
October 27, 2016
More Decks by Yoshihide Taniguchi
See All by Yoshihide Taniguchi
PHP がフロントエンドエンジニアになってみた // from PHPer to Frontend
gs3
1
350
PHP7.2で始める型宣言
gs3
0
600
ISUCONのすゝめ // OUR ISUCON
gs3
3
1.5k
オブジェクト指向設計とデザインパターンの基礎 / Basics of object oriented design and design pattern
gs3
2
100k
1人から始める大規模Webアプリケーションの言語バージョンアップ / version up PHP in large scale application
gs3
20
5.3k
PHP 5.4 ~ 5.6 での追加機能のおさらいとバージョンアップへの誘い / php54 to 56 and version up
gs3
1
2.6k
あの日見たバグを僕達はまだ公式ドキュメントで見れない / The bug we saw that day
gs3
1
1.6k
PHP 5.3.x のアプリを PHP 7.0.x で動かすためにした n 個のこと
gs3
1
1.6k
今までやってきたこと これからやりたいこと
gs3
0
2.5k
Other Decks in Technology
See All in Technology
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
480
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
370
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.1k
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
240
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
ポストモーテム! DDoSからサイトは守れた。 でもビジネスは守れなかった。
bengo4com
0
2.8k
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
340
Kaggleで成長するために意識したこと
prgckwb
2
290
Baseline対応のDOMの型定義を作った
uhyo
3
730
世界、断片、モデル。そして理解
ardbeg1958
1
100
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
200
SRE Next 2026 何でも屋からの脱却
bto
0
620
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Navigating Team Friction
lara
192
16k
Practical Orchestrator
shlominoach
191
11k
First, design no harm
axbom
PRO
2
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Cult of Friendly URLs
andyhume
79
6.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Bash Introduction
62gerente
615
220k
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)$*