Upgrade to PRO for Only $50/YearâLimited-Time Offer! ð¥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CICD
Search
Cybozu
PRO
August 19, 2020
Technology
0
59k
 CICD
Cybozu
PRO
August 19, 2020
Tweet
Share
More Decks by Cybozu
See All by Cybozu
ã€ããŸãéã£ãŠããæ¥
cybozuinsideout
PRO
1
360
ãè¡ã£ãŠããã£ãïŒããã¿ããªã«åºãã
cybozuinsideout
PRO
0
120
äžå ·åã®å ã«ããé¢çœãïœé å±3ãæç®ã®æ°åQAã®ããŸïœ
cybozuinsideout
PRO
0
330
kintoneéçºããŒã ã®ç޹ä»
cybozuinsideout
PRO
1
81k
kintoneéçºã®ãã©ãããã©ãŒã ãšã³ãžãã¢ã®ç޹ä»
cybozuinsideout
PRO
0
300
AIããŒã«éçºã¯ãŒã¯ã·ã§ããïŒDifyïŒããµã€ããŠãºæ°äººç ä¿®2025ã
cybozuinsideout
PRO
21
25k
ã¢ãã€ã«ããµã€ããŠãºæ°äººç ä¿®2025ã
cybozuinsideout
PRO
3
4.4k
Git/GitHub ã䜿ãäžã§ç¥ã£ãŠãããšå¬ãããã Tipsããµã€ããŠãºæ°äººç ä¿®2025ã
cybozuinsideout
PRO
15
11k
GitHub Copilot掻çšããµã€ããŠãºæ°äººç ä¿®2025ã
cybozuinsideout
PRO
15
16k
Other Decks in Technology
See All in Technology
Capture Checking / Separation Checking å ¥é
tanishiking
0
110
èè ãšèªã¿è§£ãAIãšãŒãžã§ã³ãçŸå Žå°å ¥ã®åæãLancers TechBook#2
smiyawaki0820
4
1.6k
Design System Documentation Tooling 2025
takanorip
1
880
[ç¶ã»å¶æ¥åã 誰ã§ã話ããOCI ã»ãŒã«ã¹ããŒã¯] AWSããOCIã®åªäœæ§ãåãããªãç·š(2025幎11æ21æ¥éå¬)
oracle4engineer
PRO
1
220
ãªã䜿ãããªãã®ãïŒââå®éÃ宿§ã§èŠæ¥µããæ¬åœã®ããã«ããã¯
kakehashi
PRO
1
490
ç§ãæèŠªäŒã¯èŠæã§ãã ïœèŠæã ããããæèŠªäŒã楜ããæ¹æ³ïœ / 20251127 Masaki Okuda
shift_evolve
PRO
4
540
ç¥ã£ãŠãããšåŸããïŒMovable Type 9 ã®æ°æ©èœã培åºè§£èª¬
masakah
0
190
âæ±ºãŸããªãâNSMèšèšãžã®åŠæ¹ç® ããããããŒã«ãããçŸå®çãªææšãã¶ã€ã³äºäŸã / A Prescription for "Stuck" NSM Design: Bitkeyâs Practical Case Study
bitkey
PRO
0
200
ãã©ãããã©ãŒã ãšã³ãžãã¢ãªã³ã°ãšã¯äœã§ããããªããã©ãããã©ãŒã ãšã³ãžãã¢ãªã³ã°ãªã®ã
doublemarket
1
530
2025 DORA Reportããèªã¿è§£ãïŒAIãæ ãåºããææãåºãç¶ããçµç¹ã®å ±éç¹ #éçºçç£æ§_findy
takabow
2
1k
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
140
AIé§åéçºã«ããDDDã®å®è·µ
dip_tech
PRO
0
260
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
GraphQLã®èª€è§£/rethinking-graphql
sonatard
73
11k
GitHub's CSS Performance
jonrohan
1032
470k
I Donât Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Music & Morning Musume
bryan
46
7k
Side Projects
sachag
455
43k
ãã³ãããã£ã³ã¹ã«ïŒæªæ¥ãã€ãããããã¯ãããŒãããã #pmconf2020
aki_iinuma
128
54k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Rails Girls ZÃŒrich Keynote
gr2m
95
14k
Transcript
CI/CD âœ£ç£æ§åäžããŒã 宮✥ 淳平 1
ãã®è¬çŸ©ã®âœ¬ç âCI/CD ã®åºæ¬çãªãšãããâŒéãç¥ã£ãŠããã âããŒã¯ãŒããææ¡ããŠä»åŸã®åŠç¿ã®åã£æãããšããŠããã 2
CI/CD ããªãéçºã®äŸ 3
åâŸã®ç°å¢ã§éçº 4
ãªãªãŒã¹åã«åâŸã®å€æŽãçµåããŠè©Šéš 5
äžå ·åã ãã 6
ä¿®æ£ãäŸé ŒããŠãåå ç¹å®ãé£ãã 7
ä¿®æ£ããŠãæ°ããªäžå ·åãåã蟌ãã§ä»¥äžç¹°ãè¿ã 8
çµãããâŸããªããŠâŸã 9
åé¡ âçµåã®ã¿ã€ãã³ã°ã§ãŸãšããŠâŒ€ããªå·®åãçºâœ£ãã l å£ãããããåå ç©¶æãå°é£ â倿ŽããŠããåé¡ãâŸã€ãããŸã§ã®ã¿ã€ã ã©ã°ã⌀ãã l åŠç¿ãé ããã®ã§ãã®éã«ãé¡äŒŒäžå ·åãåã蟌ãŸãã å¯èœæ§ã⟌ã âãªã¹ã¯ïŒäžç¢ºå®æ§ïŒã⟌ã l
çµååŸã®å¯Ÿå¿ãã©ããããã«ãªããäºæž¬ãã¥ãã 10
CI (Continuous Integration) 11
CI ãšã¯ïž âéçºãã©ã¯ãã£ã¹ ââŒâœã«äœåãããŒãžã§ã³ç®¡çã·ã¹ãã ã«å€æŽãããŒãžãã âæ¯åãã¹ããªã©ãå«ãâŸåãã«ããå®âŸããã 12
CI ãããéçºã®äŸ 13
éçºè ãã¡ã€ã³ã©ã€ã³ããã¿ã¹ã¯ãã©ã³ããäœæãã 14
ããŒã«ã«ã§ã³ãŒãã倿Žãã 15
ã¿ã¹ã¯ãã©ã³ãã«ããã·ã¥ã㊠PRïŒãã«ãªã¯ãšã¹ãïŒ ãäœæãã 16
ïŒã¡ã€ã³ã©ã€ã³ãšã®è¡çªãããã°ããŒãžããŠä¿®æ£ããïŒ 17
CI ããŒã«ãã¿ã¹ã¯ãã©ã³ãã®ã³ãŒãã§ãã«ããå®âŸãã 18
ãã«ãã倱æãããéããŸã§ä¿®æ£ & CI åå®âŸ 19
ãã«ããæåãããã¡ã€ã³ã©ã€ã³ã«ããŒãžãã 20
CI ããŒã«ãã¡ã€ã³ã©ã€ã³ã®ã³ãŒãã§ãã«ããå®âŸãã 21
ãã«ãã倱æãããéããŸã§ä¿®æ£ãã 22
ã¡ã€ã³ã©ã€ã³ã§ãã«ããæåãããå®äº 23
CI ã®å©ç¹ â⟌éãªãã£ãŒããã㯠l åé¡ã®æ©æçºâŸ l ⟌éãªåŠç¿ âé »ç¹ã«å€æŽãããŒãžãããããã«ãªãã°å·®åã⌀ãããªããªã l åé¡çºâŸæã®èª¿æ»ãç°¡åã«ãªã
l ãªã¹ã¯ïŒäžç¢ºå®æ§ïŒãæžã âSuccess/Fail ã®å¯èŠåã«ããã³ãã¥ãã±ãŒã·ã§ã³ä¿é² âæ¯åã®å€æŽãâŸåãã¹ãã§ä¿èšŒãããå®âŒŒæ 24
CD (Continuous Delivery) 25
CD ãšã¯ïž âCI ã®çºå±åœ¢ l ã³ãŒãã®å€æŽãããªã¬ãŒãšãªã£ãŠå®âŸãããããšã¯åã âã³ãŒã倿ŽãããªãªãŒã¹ãŸã§ã«å¿ èŠãªæ€èšŒãâŸã l åžžã«ä¿¡é Œã§ãããªãªãŒã¹ãã§ããç¶æ ãä¿ã€ âãããã€ãã€ãã©ã€ã³ãšãã圢ã§âŸååãã
l éšåçã«âŒ¿åäœæ¥ãâŒãããšããã 26
https://en.wikipedia.org/wiki/Continuous_delivery ãã 27
CD ã®å©ç¹ âãªãªãŒã¹ã®ã³ã¹ãããªã¹ã¯ãæãããã l ãã€ã§ããªãªãŒã¹ã§ãã âã³ãŒã倿ŽãããªãªãŒã¹ãŸã§ã®ãããŒãå¯èŠåããã l ã©ãã§åé¡ãèµ·ããŠãããã©ããããã«ããã¯ãã ãªã©ãããã«ããã 28
CI/CD å ã§å®âŸããããš 29
éçè§£æ âæ§âœãã§ã㯠l æ§âœãšã©ãŒãé²ã âã³ãŒãã¹ã¿ã€ã«ãã§ã㯠l å¯èªæ§ã⟌ãããæ¬è³ªçã§ãªãè°è«ãé²ã âã³ãŒããã¿ãŒã³ãã§ã㯠l ãšã©ãŒãçºâœ£ãããããã¿ãŒã³ãé²ã
30
âŸåãã¹ã â åäœãã¹ã l 〈ããåäœã®ã³ãŒãã圹å²éãåäœããããã§ãã¯ãã â çµåãã¹ã l è€æ°ã®ã³ãŒããçµã¿åãããæ©èœãæ£ããåäœããããã§ãã¯ãã â
åãâŒããã¹ãïŒE2E ãã¹ãïŒ l ããžãã¹èŠæ±ãæºãããŠãããã§ãã¯ãã â äžèšä»¥å€ã«ããããã l ãã¹ãã®çš®é¡ããšã®åŒã³âœ ã✬çã¯ããŒã ã«ãã£ãŠç°ãªãã®ã§ã èªèãæããããšãâŒ€äº 31
⟮æ©èœèŠä»¶ã®ãã¹ã âæ§èœæ€èšŒ âèåŒ±æ§æ€èšŒ âCI/CD ã«ã©ã®ããã«çµã¿èŸŒããã¯æãšå Žåã«ãã l æ¯åå®âŸããã«ã¯â»æéã«ãªããã¡ l çµã¿èŸŒãããªãçµã¿èŸŒãã ã»ãããã 32
ã¢ãŒã«ã€ãäœæ âãããã€ã»ãªãªãŒã¹æã«äœ¿âœ€ããã¢ãŒã«ã€ã âçµåãã¹ããE2E ãã¹ãã⟮æ©èœèŠä»¶ã®ãã¹ãã§ã䜿✀ãã l ãã¹ãã«éã£ãã¢ãŒã«ã€ãããªãªãŒã¹ãã 33
ãããã€ã»ãªãªãŒã¹ â ã¡ã€ã³ã©ã€ã³ã«ããŒãžããããšãã ãå®âŸãããããšãå€ã l ã¿ã¹ã¯ãã©ã³ãã§ãåäœç¢ºèªâœ€ç°å¢ã«ãããã€ãšãã¯ãã â ã¹ããŒãžã³ã°ç°å¢ l æ¬çªç°å¢ã«ãã䌌ããã¹ããŒãžã³ã°ç°å¢ã§ãŸããããã€ãã â
æ¬çªç°å¢ãžã®ãªãªãŒã¹æŠç¥ l äžâŒã®åé¡çºâœ£ã«åããããšãéèŠ l âŒéšã®ç°å¢ããåºããŠãããããŒã«ããã¯ãç¡å✠l ã«ããªã¢ãªãªãŒã¹ããã«ãŒã°ãªãŒã³ãããã€ããã£ãŒãã£ãŒãã©ã° ãªã© 34
ãã®ä»ãããã âã³ãŒã倿ŽãããªãªãŒã¹ãŸã§ã«å¿ èŠãªããšã¯ãªãã§ã âãããã€ãã€ãã©ã€ã³äœæåŸãã©ãã©ãå€åããŠãã 35
瀟å ã§å©âœ€ãããŠãã CI/CD ããŒã« 36
Jenkins âOSS âãªã³ãã¬æ§ç¯ã§ãã âã³ãã¥ããã£ã⌀ããã®ã§ãã©ã°ã€ã³ãè±å¯ âæè»ã§ããããšæãã°ãªãã§ãã§ãã 37
38
CircleCI âã¯ã©ãŠããµãŒãã¹ l ãªã³ãã¬çã® CircleCI Server ã瀟å ã§å©âœ€ããŠãŸã âãã©ã°ã€ã³ãšããªããŠã·ã³ãã«ãå°âŒãããã âèªèšŒãšãæš©éãšã GitHub
ãšé£æºããŠãã®ã§å°âŒã楜 39
40
GitHub Actions âGitHub ãæäŸãã CI/CD ãµãŒãã¹ l çŸåšã¯ Enterprise Server
ã¯æªå¯Ÿå¿ âãããªãã¯ãªããžããªã§ã¯å®å šç¡æ âCI/CD ã«éãã GitHub ã®æ§ã ãªã€ãã³ãã«ããã¯ã§ãã 41
ãã®ä»ã® CI/CD ããŒã« âAWS Code ã·ãªãŒãº l CodeBuild, CodeDeploy, CodePipeline,
... l AWS ãšæš©éåšããçµ±åãããã âArgo CD l Kubernetes ✀ CD ããŒã« l GitOps ã§ãã l https://www.weave.works/technologies/gitops/ 42
CI/CD å°âŒ 43
æ°èŠéçºãžã®å°âŒ âæåãã CI/CD ãå°âŒããã®ããããã âåŸåãã«ãããšâŸååãã¥ããäœãã«ãªã£ãŠããŸããã¡ 44
éäžããå°âŒ âã¬ã¬ã·ãŒãªéšåãåå ã§é£æåºŠãäžãããã¡ â⌿ãä»ãããã广ã®âŸŒãããªãšãããã l ããžãã¹çã«éèŠãªéšåã®æ£åžžç³»ãã¹ããšã âãããªãâ»æéããããžã§ããæ§ç¯ããã®ã¯ããããããªã 45
CI/CD ã¯âŒâœã«ããŠãªãã âãã¹ãŠãâŒæ°ã«å°âŒããå¿ èŠã¯ãªã l ã³ã¹ãã®ãããããªãšããããåŸã ã« âæ±ºãŸã£ãåã¯ãªã l ãœãããŠã§ã¢ãããŒã ã®æ§è³ªã«ãã âããŒã ã§èªèãåãããããšãâŒ€äº âãããã¯ããšåãã§
CI/CD ãç¶ç¶çã«æ¹åããŠãã 46
âŸååããæéããªãïž ââŸååããªãããæéããªãã®ã§ã 47
ããŸãåããªããšã âããŒã ã§æ¯ãè¿ã âä»ã®ããŒã ã®é✀ãåèã«ãã â詳ããããªâŒã«çžè«ãã 48
ã¢ã³ããã¿ãŒã³ãšãã¹ããã©ã¯ãã£ã¹ 49
ããŒã«ã«ã§â»æééçºãããã â倿Žå·®åã⌀ãããªã l ä»ã®éçºè ã®å€æŽãšè¡çªãããã l å£ãããã l åå ç©¶æãå°é£ â倿ŽããŠããåé¡ãâŸã€ãããŸã§ã®ã¿ã€ã ã©ã°ã⌀ãããªã l
åé¡ã«æ°ã¥ãã®ãé ããã»ã©å¯Ÿå¿ã³ã¹ãã¯âŒ€ãããªã 50
é »ç¹ã«å€æŽãããŒãžã§ã³ç®¡çã·ã¹ãã ã«ã³ããããã â✬å®çã«ã¯å šå¡ã 1 ✠1 åä»¥äž âã³ãããã⌀ãããªããããªãããã«æå³åäœã§åå²ãã l åé¡çºâŸãã¬ãã¥ãŒãç°¡åã«ãªã âã¿ã¹ã¯ãç²åºŠã〈ãããªãããã«åå²ããã»ããäžç¢ºå®æ§ãæžã
51
ãã«ãã®å®âŸé »åºŠãäœã ââŒâœã«âŒåãšãããå®âŸãããªãã±ãŒã¹ âãã«ã倱ææã«ã©ã®å€æŽãåå ããããã«ãã â倿ŽããŠããåé¡ãâŸã€ãããŸã§ã®ã¿ã€ã ã©ã°ã⌀ãããªã l åé¡ã«æ°ã¥ãã®ãé ããã»ã©(ry 52
ãã¹ãŠã®ã³ãããã§ãã«ããå®âŸãã âãã«ãã倱æãããšãã¯çŽåã®ã³ããããåå ã®å¯èœæ§ã⟌ã l 調æ»ãããã âãã£ãŒãããã¯ãæ©ã l 察å¿ã³ã¹ãã〈ãããªã 53
ãã«ãã倱æããŠãæŸçœ®ããã âå±âŒçã«ãªããã¡ â誰ã察å¿ããªããªããš CI/CD ã®å©ç¹ããã¹ãŠå€±ããã 54
ãã«ãã倱æãããããŒã ã¯æåªå ã§åŸ©æ§ãã âãã«ã倱æïŒãªãªãŒã¹ã§ããªãåé¡ãååšãã â✬å®ã¯ 10 å以å l çŽåã®å€æŽããªããŒãããã®ãâŒçªæ¥œ âãã«ã倱æã¯ããŒã ã¡ã³ããŒå šå¡ãâŸãŠããšããã«éç¥ãã l ç¶æ ãå¯èŠåãããã³ãã¥ãã±ãŒã·ã§ã³ãåæ»ã«ãªã
55
https://blog.cybozu.io/entry/2386 56
CI/CD ã®ãã«ãæéãâ»ããã âçµåãã¹ããåãâŒããã¹ããåããããããšãªããã¡ â1 æé以äžãšãã«ãªã£ãŠãããšå³ãã l 倱ææã«åå®âŸããããšãšããèãããšâŸã 57
CI/CD ã⟌éã«ä¿ã€ âå¯èœãªéã䞊åå®âŸãã ââŸåãã¹ãã®åœ¹å²ãç¶ç¶çã«âŸçŽã l ãã¹ããã©ããããæèãã 58
ãã¹ããã©ããã GUI Test API Test Unit Test
ãã¹ããã©ãããã®ãã€ã³ã âãããããªç²åºŠã®ãã¹ããçµã¿åããã âç²åºŠã⌀ãããªãã»ã©å®âŸæéãã¡ã³ããã³ã¹ã³ã¹ãã⟌ããªã âãã〈ããç²åºŠã®ãã¹ãã§é²ãããã®ã¯é²ã 60
äžå®å®ãªãã«ã âäžå ·åã§ã¯ãªãã®ã«ãã«ãã倱æãã l CI/CD ã®ä¿¡é Œæ§ãäžãã âåå ã¯ãããã l æ¬çªã³ãŒãã§ã¯ãªãã®ã§æžããã⌿æãã¹ã¯ãªãã l E2E
ãã¹ãã®åŸ®åŠãªã¿ã€ãã³ã°ã®ãºã¬ l äžå®å®ãªç°å¢ l æ§ç¯âŒ¿é ã埮åŠã«ç°ãªããåã®ãã«ãã®ãŽããæ®ã£ãŠãããªã© 61
ãã«ããç¶ç¶çã«æ¹åããŠå質ã⟌ãã âãã«ãã§å®âŸãããã¿ã¹ã¯ã¯è£œåã³ãŒãã¬ãã«ã®å質ã✬æã l ç¹ã«ã¡ã³ããã³ã¹æ§ã⟌ããããšãâŒ€äº âãã«ãçµæãèšæž¬ãã l ãã«ãã®å€±æé »åºŠããã®åå ãæ¯ãè¿ããããã«ããŠãããš ããšããæ¹åãããã âé²ãã¥ããã¬ã¢ã±ãŒã¹ãããã®ã§âŸåãªãã©ã€ãâŒã€ã®âŒ¿æ®µ âç°å¢ã¯ä»®æ³åããŠæ¯åã¯ãªãŒã³ã«ãã
l Docker ã³ã³ããå ã§ãã«ãããã®ãæè¿ã¯âŒè¬ç 62
ãŸãšã 63
æèããŠã»ããããš â⟌éãªãã£ãŒãããã¯ã«ãŒãã¯äžç¢ºå®æ§ãäžããåŠã³ãæâŒ€åãã l é¡§å®¢ãžæäŸãã䟡å€ã®æâŒ€åã«ã€ãªãã l äŸãã° Amazon ã§ã¯æ¯ç§ãªã«ãããæ¬çªç°å¢ã«ãããã€ããŠã âããã«ããã¯ãæèããŠãã©ã³ã¹æèŠãæã£ãŠâŸååãã âãªãªãŒã¹ããŠãããã顧客ã«äŸ¡å€ãæäŸã§ãã
l ã³ãŒãã倿ŽããŠçµããã§ã¯ãªã l ããŒã å šäœã§ãªãªãŒã¹ããã®åŸã®ãã£ãŒãããã¯ãŸã§è²¬ä»»ãæã€ 64
æéããã°ãã®ä»âŒ©ãã¿ 65
Continuous Delivery vs Continuous Deployment âã³ãŒã倿Žããšã«ãªãªãŒã¹ãŸã§ã®æ€èšŒãâŸãã®ã¯ã©ã¡ããåã âContinuous Delivery l æ¯åæ¬çªç°å¢ã«ãªãªãŒã¹ãããšã¯éããªã
âContinuous Deployment l æ¯åæ¬çªç°å¢ãžã®ãªãªãŒã¹ãŸã§âŸåã§âŸã âã©ã¡ããéžã¶ãã¯æãšå Žåã«åãã㊠66
DevOps âCI/CD ããåºãã¹ã³ãŒããæ±ã£ãŠã l 顧客ã«äŸ¡å€ãæäŸããçµç¹âœåãããã»ã¹ã ãã©ã¯ãã£ã¹ãªã© l å³å¯ãªå®çŸ©ã¯ãªã âå»å¹Žãã£ããè¬çŸ©ããã®ã§èå³ããâŒã¯ã©ãã l
https://speakerdeck.com/cybozuinsideout/2018-14- devops 67
åèâœç® âãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³âŒâŸšã âãç¶ç¶çããªããªãŒã 68