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 as a Service の考え方を取り入れて D...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hiroshi Maekawa (a.k.a. Posaune)
October 22, 2018
Programming
1
500
「カスタマイズ」から「標準化」へ。 CI as a Service の考え方を取り入れて DevOps を加速させよう!
#devkan 「CI/CDの話」発表資料です。
Hiroshi Maekawa (a.k.a. Posaune)
October 22, 2018
Tweet
Share
More Decks by Hiroshi Maekawa (a.k.a. Posaune)
See All by Hiroshi Maekawa (a.k.a. Posaune)
サーバーレス時代にこそ 身につけたいTDD入門
posaunehm
0
300
大正Geek Night 2018-08-27
posaunehm
0
110
Other Decks in Programming
See All in Programming
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
4k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
110
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
atmaCup #23でAIコーディングを活用した話
ml_bear
1
160
CSC307 Lecture 05
javiergs
PRO
0
500
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
Python’s True Superpower
hynek
0
110
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
260
Featured
See All Featured
BBQ
matthewcrist
89
10k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
340
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
66
Building the Perfect Custom Keyboard
takai
2
690
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Designing for humans not robots
tammielis
254
26k
Done Done
chrislema
186
16k
Claude Code のすすめ
schroneko
67
210k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
57
Transcript
ʮΧελϚΠζʯ͔Βʮඪ४Խʯɻ CI as a Service ͷߟ͑ํΛऔΓೖΕͯ DevOps ΛՃͤ͞Α͏ʂ
ΪϧυϫʔΫεגࣜձࣾ લ തࢤ
͡Ίʹ
ΪϧυϫʔΫεʹ͍ͭͯ
None
None
None
ͤΓΧΠθϯΞϓϦͷͰىͬͨ͜CIମݧ • ே4࣌ͷڕࢢͰ࣮ূ࣮ݧ • ࣮ݧதʹόάൃੜʂʂ • ✨ ͦͷͰόάमਖ਼͠ɺGithubʹPush • CircleCIͰϏϧυ/ςετ࣮ߦ
• खݩͷΞϓϦʹमਖ਼൛͕৴͞Εɺݕূଓߦʂʂ ͍͍ͩͨɺ͘Β͍Ͱղܾ
CI/CDඪ४ࡌͷ։ൃʹڵຯ͋Δํ ΪϧυϫʔΫε·Ͱʂ https://guildworks.jp/contacts/new.html
ʮΧελϚΠζʯ͔Βʮඪ४Խʯɻ CI as a Service ͷߟ͑ํΛऔΓೖΕͯ DevOps ΛՃͤ͞Α͏ʂ
ΪϧυϫʔΫεגࣜձࣾ લ തࢤ
ࣗݾհ • ΪϧυϫʔΫεגࣜձࣾ ALMΤϯδχΞ • Application Lifecycle Management • ಘҙٕ
• ։ൃ • αʔόʔαΠυɿ Java • "OESPJE+BWB→,PUPMJO • iOS: Swift • Webϑϩϯτɿ Vuejs, Angular/Ionic • ͦͷଞɿ C# ͕Ұ൪͖͚ͩͲ࠷ۙॻ͍͍ͯͳ͍… • CI / CDͷඋ • ࠷ۙͬͺΒCircleCI
ͯ͞ɺຊɻ
Agenda • CI/CDͷྺ࢙͓͞Β͍ • ͳͥCI as a Service ͳͷ͔ •
CI as a Service ͱͲΜͳͷ ʁ • ·ͱΊ
CI/CDͷྺ࢙ʢJenkinsΛத৺ͱͨ͠ʣ 2005 2011 2018 Jenkins X 2004 2008 2013 Kubernetes
2014 2016 2011 Docker Jenkins 2.0 Travis CI Ϗϧυͷ ίϯςφԽ
ͳͥ CI as a Serviceͳͷ͔ - Jenkinsͷޭࡑ - Jenkins৬ਓ -
CI as a Service ͱ͍͏खஈ - CI as a Service ͷϝϦοτ
Jenkinsͷޭࡑ • JenkinsCI ΛͨΓલʹͨ͠ • ʮఆظతʹԿ͔Λ࣮ߦ͢Δʯͱ͍͏࡞ۀ͕ϧʔνϯͰ ͋Δ͜ͱΛΈΜͳ͕ೝࣝͨ͠ • ʮ໘͍͔͘͞ΒJenkinsͰΒͳ͍ʁʯͱ͍͏จԽ͕ ৢ͞Εͨ
• ͳΜͰJenkinsͰΔਓ͕૿͖͑ͯͨ • Jenkins৬ਓͷੜ
Jenkins৬ਓ • ෳͷϓϥάΠϯΛΈ߹ΘͤͨΓ࢝͠ΊΔͱɺಠࣗͷจԽ͕ Ͱ͖ͯϝϯς͕͘͠ͳΔ • ઃఆͷϘϦϡʔϜ͕ଟ͘ͳΓ͗ͯ͢ɺཧෆೳʹͳΔʢJenkins ઃఆΛίʔυԽͰ͖ͳ͔ͬͨʣ • Jenkins͕Πϯετʔϧ͞Ε͍ͯΔϚγϯͷߏཧΛͪΌΜͱ ͍ͯ͠ͳ͍ͱɺʮJenkins্Ͱಈ͍ͯ·ͨ͠ʯͱ͍͏͕ɻ
• ʮΈ͏Β͞ΜʢԾ໊ʣ͕͍ͳ͍ͷͰϏϧυͰ͖·ͤΜʂʯͱ͔ ݴΘΕ࢝ΊΔɻ • ͦΜͳͱ͜ΖͰ৬ਓ͕͍ͳ͘ͳͬͨΒɺɺɺ
ςετࣗಈԽͷύλʔϯݴޠ http://www.slideshare.net/Posaune/agile-tourosaka
CI as a Service ͱ͍͏खஈ • Ϋϥυ্ʹߏங͞ΕͨϏϧυαʔό • GithubͳͲ֎෦ΞΫηεՄೳͳϨϙδτϦ͕ඞཁ •
ར༻ऀܹ૿த • Github GitlabͳͲͷιʔεཧαʔϏεΈࠐΈ ͷCI ServiceΛఏڙ։࢝࢝͠Ίͨ • https://github.com/features/actions
ࢀߟ: Github Actions
CI as a Service ͷಛ • ϏϧυɾσϓϩΠຖʹϑϨογϡͳVMΛىಈ͢Δ Έ͕औΒΕ͍ͯΔ • ؆୯ͳઃఆGUIɺෳࡶͳઃఆΈࠐΈͷઃఆϑΝΠ
ϧͰߦ͏ʢYAMLϑΝΠϧ͕ଟ͍) • GithubͳͲͷϗεςΟϯάαʔϏεHeroku/AWSͳ Ͳͱͷ࿈ܞػߏΛඋ͑Δ
CI as a Service ͷ͍͍ͱ͜Ζ • ্ཱͪ͛ઃఆϘλϯҰͭɺ͋ͬͱ͍͏ؒʹCI͕։࢝ Ͱ͖Δ • ڥͷFresh͕͞อূ͞Ε͍ͯΔͷͰɺڥґଘΤϥʔ
ͷಛఆ͕༰қʹͳΔ • ෳࡶͳઃఆϨϙδτϦͷYAMLͳͲʹॻ͘ͷͰɺ όʔδϣϯཧͰ͖Δɻ
CI as a Service ͱ৬ਓ • ϚγϯߏؚΊͯɺΔ͜ͱ͕΄΅ίʔυԽ͞Ε͍ͯΔ = ʮ৬ਓ͔͠Βͳ͍ใʯΛۃখԽͰ͖Δ 㱺
৬ਓͷࣝଐਓԽΛճආ • ͳΜ͔ͩΜͩͰΕΔ͜ͱʹ੍ݶ͕͋Δ = ৬ਓࠢΛదʹ੍ݶͰ͖Δ 㱺 ຊདྷCIʹෆదͳ͜ͱΛΒͤͯ͠·͏Λճආ
CI as a Service ͱͲΜͳͷ ʁ - CircleCIΛྫʹͱͬͯߟ͑Δ - -
CircleCIͰϏϧυ͢Δʹʁ - config.ymlͷதΛΔ - ଞʹCircleCIͰͰ͖Δ͜ͱ
Γ·͢
CircleCIͰϏϧυͯ͠ΈΑ͏ʂ ʙͦͷ1ʙ • GithubΞΧϯτΛ࿈ܞ͢Δ • Build Project Λઃఆ͢Δ •
CircleCIͰϏϧυͯ͠ΈΑ͏ʂ ʙͦͷ1ʙ • ࣗಈੜ͞ΕͨconfigϑΝΠϧΛίϐϖ͢Δ • ʢ͓͠·͍ʣ
None
͔Β͘Γ • ඪ४తͳϏϧυγεςϜͰߏங͞Ε͍ͯΕɺ উखʹͦΕʹैͬͨϏϧυΛ࡞ͬͯ͘ΕΔ • maven / gradle • npm
/ yarn • Rake & Bundle • ͜ͷΑ͏ʹɺͰ͖Δ͚ͩʮඪ४ʹै͏ʯͷ͕ CI as a Service Λ͏ϙΠϯτ
config.ymlͷதΛΔ ᶃ ϙΠϯτᶅ ϏϧυΩϟογϡ ϙΠϯτᶄ npm ϙΠϯτᶃ Docker ϙΠϯτᶆ
ޙଓͷϏϧυͷͨΊͷ ݁Ռอ࣋
config.ymlͷதΛΔᶄ ϙΠϯτᶇ ෳͷϏϧυύλʔϯ ϙΠϯτ ᶈ AWSͱͷ࿈ܞ
config.ymlͷதΛΔᶅ ϙΠϯτ ᶉ ෳϏϧυͷ࿈ܞ
ଞʹCircleCIͰͰ͖Δ͜ͱ • MacOSϏϧυ • AWS CodeDeploy࿈ܞ / Heroku࿈ܞ • SlackͳͲChatOpsͱͷ࿈ܞ
• SSHͰίϯςφʹଓ • ϩʔΧϧʹCircleCIͷΫϩʔϯΛ࡞ • CircleCI 2.0 ͔Βಋೖ
·ͱΊ • CI as a Service ɺؾܰʹCIΛ࢝ΊΔ࠷ྑͷखஈ • ඪ४తͳελΠϧʹ߹ΘͤΔ͜ͱͰɺߴʹCI/CD Λ։ൃʹऔΓࠐΊΔ
• ͜ΕΛػձʹඪ४Λֶ΅͏ • ϏϧυγεςϜ / Docker / AWS • Github / CircleCI མͪͨͱ͖ͷ͜ͱߟ͓͑ͯ͜͏ • CircleCI Travis ϩʔΧϧϏϧυͰ͖Δ͔Β…