Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ペパボを支える大統一CI基盤と人々 // The unified CI platform in...
Search
Yoshihide TANIGUCHI
October 27, 2016
Programming
84
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ペパボを支える大統一CI基盤と人々 // The unified CI platform in Pepabo
2016/10/27 【ペパボ×プレイド】Tech Meetup 〜自動テスト・CI編〜
Yoshihide TANIGUCHI
October 27, 2016
More Decks by Yoshihide TANIGUCHI
See All by Yoshihide TANIGUCHI
スタディサプリ/Quipper オンラインミートアップ #1(Webエンジニア) / 新規サービス開発チームの紹介 / Studysapuri online meetup #1
ravelll
0
3.2k
Raspberry Pi と Netatmo と少しの ruby で作る二酸化炭素濃度モニター君
ravelll
0
110
Ruby の静的型チェックの話
ravelll
0
100
Quipperian and VimConf2019
ravelll
1
5.9k
さくらのフロントエンド さくらの Vue.js // vue.js in SAKURA
ravelll
3
4.5k
PHP7.2で始める型宣言 // Type declaration with PHP 7.2
ravelll
0
300
ISUCONのすゝめ // Shall we ISUCON ?
ravelll
0
130
オブジェクト指向設計とデザインパターンの基礎 / Basics of object oriented design and design pattern
ravelll
0
760
1人から始める大規模Webアプリケーションの言語バージョンアップ / Upgrade PHP in a large application
ravelll
0
160
Other Decks in Programming
See All in Programming
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
320
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
150
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
180
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
すこし踏み込む CancellationToken
htkym
2
1.3k
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
980
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
290
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
500
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
2
310
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
390
Agents on Rails - Rails at Scale 2026
irinanazarova
0
280
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
First, design no harm
axbom
PRO
2
1.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
290
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Become a Pro
speakerdeck
PRO
31
6.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Tell your own story through comics
letsgokoyo
1
1.1k
ラッコキーワード サービス紹介資料
rakko
1
5M
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
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)$*