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
2
4.2k
ペパボを支える大統一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
PHP がフロントエンドエンジニアになってみた // from PHPer to Frontend
gs3
1
330
PHP7.2で始める型宣言
gs3
0
570
ISUCONのすゝめ // OUR ISUCON
gs3
3
1.4k
オブジェクト指向設計とデザインパターンの基礎 / Basics of object oriented design and design pattern
gs3
2
100k
1人から始める大規模Webアプリケーションの言語バージョンアップ / version up PHP in large scale application
gs3
20
5.2k
PHP 5.4 ~ 5.6 での追加機能のおさらいとバージョンアップへの誘い / php54 to 56 and version up
gs3
1
2.5k
あの日見たバグを僕達はまだ公式ドキュメントで見れない / The bug we saw that day
gs3
1
1.5k
PHP 5.3.x のアプリを PHP 7.0.x で動かすためにした n 個のこと
gs3
1
1.6k
今までやってきたこと これからやりたいこと
gs3
0
2.4k
Other Decks in Technology
See All in Technology
自己的售票系統自己做!
eddie
0
460
明日から真似してOk!NOT A HOTELで実践している入社手続きの自動化
nkajihara
1
780
第65回コンピュータビジョン勉強会
tsukamotokenji
0
150
Spring Boot利用を前提としたJavaライブラリ開発方法の提案
kokihoshihara
PRO
2
230
『HOWはWHY WHATで判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜
panda728
PRO
5
2k
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
550
プログラミング言語を書く前に日本語を書く── AI 時代に求められる「言葉で考える」力/登壇資料(井田 献一朗)
hacobu
PRO
0
170
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
340
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
550
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
380
JAWS-UG SRE支部 #14 LT
okaru
0
110
[mercari GEARS 2025] なぜメルカリはノーコードを選ばなかったのか? 社内問い合わせ工数を60%削減したLLM活用の裏側
mercari
PRO
0
120
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Agile that works and the tools we love
rasmusluckow
331
21k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Pragmatic Product Professional
lauravandoore
36
7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Embracing the Ebb and Flow
colly
88
4.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Side Projects
sachag
455
43k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
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)$*