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/CDツール比較してみた
Search
Kai Shoya
July 12, 2019
Programming
0
2.2k
CI/CDツール比較してみた
大手Gitホスティングサービス3社でよく使われているCI/CDツール、Bitbucket Pipelines, GitLab CI/CD, CircleCIを比較してみました。
Kai Shoya
July 12, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
210
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.4k
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
450
gunshi
kazupon
1
140
チームをチームにするEM
hitode909
0
430
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
930
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
520
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
640
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
78
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Building Adaptive Systems
keathley
44
2.9k
Exploring anti-patterns in Rails
aemeredith
2
220
Producing Creativity
orderedlist
PRO
348
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
So, you think you're a good person
axbom
PRO
0
1.9k
Discover your Explorer Soul
emna__ayadi
2
1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
51
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