$30 off During Our Annual Pro Sale. View Details »
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
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.2k
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
270
クラウドに依存しないS3を使った開発術
simesaba80
0
140
開発に寄りそう自動テストの実現
goyoki
2
1.3k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
430
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
100
Navigating Dependency Injection with Metro
l2hyunwoo
1
170
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
440
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.9k
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
84
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
29
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
400
YesSQL, Process and Tooling at Scale
rocio
174
15k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
60
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
For a Future-Friendly Web
brad_frost
180
10k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
60
37k
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