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基盤と人々 // The unified CI platform in...
Search
Yoshihide TANIGUCHI
October 27, 2016
Programming
0
76
ペパボを支える大統一CI基盤と人々 // The unified CI platform in Pepabo
2016/10/27 【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜
Yoshihide TANIGUCHI
October 27, 2016
Tweet
Share
More Decks by Yoshihide TANIGUCHI
See All by Yoshihide TANIGUCHI
スタディサプリ/Quipper オンラインミートアップ #1(Webエンジニア) / 新規サービス開発チームの紹介 / Studysapuri online meetup #1
ravelll
0
2.7k
Raspberry Pi と Netatmo と少しの ruby で作る二酸化炭素濃度モニター君
ravelll
0
89
Ruby の静的型チェックの話
ravelll
0
86
Quipperian and VimConf2019
ravelll
1
5.7k
さくらのフロントエンド さくらの Vue.js // vue.js in SAKURA
ravelll
3
4.4k
PHP7.2で始める型宣言 // Type declaration with PHP 7.2
ravelll
0
280
ISUCONのすゝめ // Shall we ISUCON ?
ravelll
0
120
オブジェクト指向設計とデザインパターンの基礎 / Basics of object oriented design and design pattern
ravelll
0
740
1人から始める大規模Webアプリケーションの言語バージョンアップ / Upgrade PHP in a large application
ravelll
0
150
Other Decks in Programming
See All in Programming
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
170
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
8
1.6k
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
630
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
640
CSC509 Lecture 01
javiergs
PRO
1
440
Devvox Belgium - Agentic AI Patterns
kdubois
1
100
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
960
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
Cursorハンズオン実践!
eltociear
2
650
Catch Up: Go Style Guide Update
andpad
0
210
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
briete
0
130
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
450
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
185
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
Context Engineering - Making Every Token Count
addyosmani
5
210
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Invisible Side of Design
smashingmag
301
51k
The Language of Interfaces
destraynor
162
25k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Code Reviewing Like a Champion
maltzj
525
40k
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 registory drone slack master 7. notify 6. exec workers 4. send && build 5. pull 2. ping
ݱͷ
ར༻ྫɿΧϥʔϛʔγϣοϓ ϦϙδτϦݸʢ$*Λར༻͍ͯ͠Δͷ͕ʣ ։ൃऀਓʢΤϯδχΞ σβΠφʔʣ ༻్ࣗಈςετʢ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)$*