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/CDツール比較してみた
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kai Shoya
July 12, 2019
Programming
2.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CI/CDツール比較してみた
大手Gitホスティングサービス3社でよく使われているCI/CDツール、Bitbucket Pipelines, GitLab CI/CD, CircleCIを比較してみました。
Kai Shoya
July 12, 2019
Other Decks in Programming
See All in Programming
ジョジョの世界をXRで再現する
mofurune
0
160
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
270
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
ActionController meets Protocol Buffers
sorah
0
520
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
contenteditable と日本語入力に向き合う
colorful12
0
200
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
AmebaブログはKMPから卒業します
kmars0605
0
180
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
450
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Navigating Team Friction
lara
192
16k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
The Curious Case for Waylosing
cassininazir
1
570
Un-Boring Meetings
codingconduct
0
460
Typedesign – Prime Four
hannesfritz
42
3.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
The Language of Interfaces
destraynor
162
27k
Transcript
CI/CDπʔϧൺֱͯ͠Έͨ
ࣗݾհ גࣜձࣾϥϯόʔϛϧ ߕ൹ᠳɹ@shonari123 ܦྺ • [ઐֶߍ]ϠΫβͷΑ͏ͳԸࢣʹγΰ͔ΕΔ • [ब৬]”ྑ͍”اۀʹब৬͢Δ͕ϲ݄ͰࣙΊͯχʔτ • [࠶ब৬]ࠓͷձࣾʹब৬
࠷ۙ͏ٕज़ • Java, PHP, MySQL, Vue.js, Firebase
CI/CDͬͯͳʹʁ
CI/CDͱ ʮCIʯͱʮContinuous IntegrationʢܧଓతΠϯςάϨʔγϣϯʣʯͷུͰɺιϑ τΣΞ։ൃʹ͓͚ΔϏϧυςετΛࣗಈԽ͠ɺܧଓతʹߦ͏Ξϓϩʔνͷ͜ͱ Ͱ͢ɻ ʮCDʯͱʮContinuous DeliveryʢܧଓతσϦόϦʔʣʯͷུͰɺCIʹΑͬͯςε τ͞ΕͨίʔυͷϚʔδɺຊ൪ڥ͚ͷϏϧυͷ࡞Λࣗಈతʹߦ͍ɺຊ൪ ڥʹσϓϩΠ͕Մೳͳঢ়ଶΛ͑Δϓϩηεͷ͜ͱͰ͢ɻ ·ͨʮCDʯʮContinuous
DeploymentʢܧଓతσϓϩΠʣʯͷུͱͯ͠ΘΕΔ ͜ͱ͋Γ·͢ɻܧଓతσϓϩΠܧଓతσϦόϦʔͱΑ͘ࣅͨ֓೦Ͱ͕͢ɺܧଓ తσϦόϦʔ͕σϓϩΠՄೳͳঢ়ଶΛ४උ͢Δ͚ͩͳͷʹର͠ɺܧଓతσϓϩΠ ࣮ࡍʹຊ൪ڥͷσϓϩΠ·ͰΛߦ͏͕ҟͳΓ·͢ɻ ͜ͷΑ͏ͳϏϧυɺςετɺσϓϩΠΛࣗಈԽ͠ɺܧଓతʹߦ͏ख๏ͷ͜ͱΛɺ͋ ΘͤͯʮCI/CDʯͱݺͼ·͢ɻ χϑΫϥʰʮCI/CDʯͱʱ(https://pfs.nifcloud.com/navi/words/ci_cd.htm : 2019/07/04)
CI/CDͱ CI: ςετϏϧυΛࣗಈͰߦ͏͜ͱ CD: CI͕OKͩͬͨΒࣗಈͰσϓϩΠ ͢Δ͜ͱ
GitϗεςΟϯάαʔϏε Push Pull Request CI/CDπʔϧ Push, Pull RequestΛݕ ςετɾϏϧυΛ࣮ߦ ςετɾϏϧυ͕
௨ͬͨΒσϓϩΠ
CI/CDͷྲྀΕ Init Test Build Deploy checkoutͨ͠Γ yarn installͨ͠Γ ςετͱϏϧυΛฒྻʹ࣮ߦ masterϒϥϯνͷ࣌ͷΈ
શ෦௨ͬͨΒσϓϩΠ
ൺֱ͢ΔCI/CDπʔϧ •Bitbucket Pipelines •GitLab CI/CD •Circle CI
Bitbucket Pipelines
feature/cicd master develop merge checkout pull request pull request commit
merge ͚ͩ͜͜ νΣοΫ͢Δ CI/CD͢ΔՕॴ
ઃఆ ʮEnable PipelinesʯΛOnʹ͢Δ ϓϩδΣΫτͷϧʔτσΟϨΫτϦʹ ʮbitbucket-pipelines.ymlʯΛ࡞
yml
yml ڥม Docker Image UnitςετͱBuildΛ ฒྻʹ࣮ߦ node_modules/Λ શମͰڞ༗ લճ࣮ߦͨ࣌͠ͷ node_modules/Λίϐʔ
શͯͷpull requestͰ initͱciΛ࣮ߦ cachesΛར༻͢ΔͨΊ ϩʔΧϧʹอଘ
ߏจνΣοΫ
ޭ
ࣦഊ
ίϛοτҰཡ
GitLab CI/CD
feature/cicd master develop merge checkout pull request pull request commit
merge ͚ͩ͜͜ νΣοΫ͢Δ CI/CD͢ΔՕॴ
ઃఆ ϓϩδΣΫτͷϧʔτσΟϨΫτϦʹ ʮ.gitlab-ci.ymlʯΛ࡞
yml
yml Job Jobͷ࣮ߦॱ stage͕ಉ໊͡લ ͩͬͨΒฒྻʹॲཧ masterͱϓϧϦΫ࣌ͷΈ ࣮ߦ Docker Image ڥม
node_modules/ͱdist/Λ શମͰڞ༗ લճ࣮ߦͨ࣌͠ͷ node_modules/Λίϐʔ
ߏจνΣοΫ
ޭ
ࣦഊ
ίϛοτҰཡ
Circle CI
feature/cicd master develop merge checkout pull request pull request commit
merge ͚ͩ͜͜ νΣοΫ͢Δ CI/CD͢ΔՕॴ
feature/cicd master develop merge checkout pull request pull request commit
merge ͚ͩ͜͜ νΣοΫ͢Δ CI/CD͢ΔՕॴ
ઃఆ Circle CIʹαΠϯΠϯ(αΠϯΞοϓ)͠Github/ BitbucketΞΧϯτͱ࿈ܞ͢Δ ϓϩδΣΫτʹʮ.circleci/config.ymlʯΛ࡞
None
yml
yml Docker Image ڥม node_modules/Λอଘ લճอଘͨ͠ node_modules/ಡΈࠐΈ ΧϨϯτσΟϨΫτϦΛڞ༗ ڞ༗͞ΕͨσΟϨΫτϦΛΞλον dist/Λڞ༗
master͚ͩ Ͱ࣮ߦ ྃΛͭjobΛࢦఆ ಉ͡jobΛࢦఆ͢Δͱ ฒྻʹͳΔ
ߏจνΣοΫ
ޭ
ࣦഊ
ίϛοτҰཡ
Bitbucket Pipelines GitLab CI/CD Circle CI υΩϡϝϯτ ຊޠ͋Γ ͍͠ ӳޠͷΈ
༏͍͠ ຊޠ͋Γ ͍͠ ίϯςφ ແྉ ແ੍ݶʁ ແ੍ݶʁ 1 OSSͷ߹: 4 Ϗϧυ࣌ؒ/݄ ແྉ 50/݄ 2,000/݄ 1,000/݄ Ωϟογϡ ͋Γ ͋Γ ༗ྉ Ϗϧυʹ͔͔ͬͨ࣌ؒ 2 530ඵ 3 ߏจνΣοΫ Validator Θ͔ΓͣΒ͍ CI Lint Θ͔Γ͍͢ circleciίϚϯυ Θ͔Γ͍͢ ൺֱ
·ͱΊ • Bitbucket Pipelines • !Ϗϧυ͕Ұ൪ૣ͍ • "Ϗϧυ࣌ؒ/݄͕͍ʢελϯμʔυϓϥϯ: 500/݄ʣ •
Gitlab CI • !υΩϡϝϯτ͕Θ͔Γ͘͢ɺϏϧυ࣌ؒ/݄͕Ұ൪ଟ͍ • "αʔόʔͷࠞΈ۩߹͕͔ͳΓӨڹ͢Δʢૣ͍࣌3ऑʣ • Circle CI • !ߏจνΣοΫҰ൪Θ͔Γ͍͢ • "filtersʹPull RequestΛࢦఆͰ͖ͳ͍
ymlΛGithubʹͯެ։தʂ https://github.com/KaiShoya/CICD-Examples