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
Codepipelineの話
Search
Shun Satou
October 03, 2018
Technology
1
750
Codepipelineの話
Shun Satou
October 03, 2018
Tweet
Share
More Decks by Shun Satou
See All by Shun Satou
ソニーでの事例から考えるプラットフォーム開発
shunsato123
5
2.1k
テレビ・レコーダーのバックエンドにおけるCI/CDへの取り組み
shunsato123
4
3.7k
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
190
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.4k
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
OpenShiftでllm-dを動かそう!
jpishikawa
0
100
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
240
Tebiki Engineering Team Deck
tebiki
0
24k
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
Webhook best practices for rock solid and resilient deployments
glaforge
1
280
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
300
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Faster Mobile Websites
deanohume
310
31k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Accessibility Awareness
sabderemane
0
51
First, design no harm
axbom
PRO
2
1.1k
Bash Introduction
62gerente
615
210k
GraphQLとの向き合い方2022年版
quramy
50
14k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Test your architecture with Archunit
thirion
1
2.1k
Transcript
Codepipelineͷ ιχʔωοτϫʔΫίϛϡχέʔγϣϯζגࣜձࣾ ࠤ౻ॠ 2018.10.3 JAWSUG Yokohama DevOpsLT
୭ʁ ࠤ౻ɹॠ ιχʔωοτϫʔΫίϛϡχέʔγϣϯζגࣜձࣾ ʢ2016ʙʣ ςϨϏϨίʔμʔͷαʔόʔαΠυΛ୲͍ͯ͠·͢
୭ʁ ԣࡏॅͰ͢ ʢԣΞϐʔϧʣ
ஶॻʢڞஶʣ 2015/3 ग़൛ 2016/4 ग़൛ 2018/3 ग़൛ վగ
Codepipeline
ͬͯ·͔͢ʁ
Codepipelineͷར༻ঢ়گ Dev/Staging/ProdͳͲɺશڥ߹Θͤͯ40ຊఔͷPipeline CodePipeline ECS EC2 Lambda Github Dev/Staging Push Dev/StagingGithubΛTriggerʹσϓϩΠ
Codepipelineͷར༻ঢ়گ Dev/Staging/ProdͳͲɺશڥ߹Θͤͯ40ຊఔͷPipeline CodePipeline ECS EC2 Lambda Prod ࣮ߦ ProdखಈͰPipelineΛ࣮ߦ →ެ։ͳͲɺλΠϛϯάΛௐ͢Δඞཁ͕͋ΔͨΊ
ͱ͍͏ײ͡Ͱɺ ͖ͦͦͬͯ͜͜·ͨ͠
ྑ͍ࠔͬͯΔ͜ͱʹ͍ͭͯ TipsͬΆ͘ޠ͍ͬͯ͜͏ͱࢥ͍·͢
Codepipelineͷྑ͍
Codepipelineͷྑ͍ • Sourceͷॊೈੑ • GithubҎ֎ͷSourceΛࢦఆͰ͖Δ • S3ͷτϦΨʔͰͷىಈ͍ॴ͕ଟ͍ • Codepipelineͷෆ෦ΛิͬͯΔ͚ͩͱݴ͑Δ͕ɾɾɾ ʢޙड़ʣ
• ෳͷϦϙδτϦΛInputʹͰ͖Δ • Github ͱ S3ΦϒδΣΫτΛ྆ํInputʹ͢Δ͜ͱͰ͖Δ
Codepipelineͷྑ͍ • JenkinsΛ͑Δʢ͑ͯ͠·͏ʁʣ • طʹBuildDeployͷδϣϒ͕͋Δ߹ɺͦͷ··͑Δ • ͱΓ͋͑ͣɺCodepipelineʹͤͯɺޙͰCodeBuildʹ Ҡ͕͢Ͱ͖Δ ͜Ε͕͋ͬͨͷͰCodepipelineΛબͨ͠෦͕͋Δ Build/DeployͳͲͷ֤࡞ۀJenkinsͰδϣϒԽ͞Ε͓ͯΓɺ
ͦΕͳΓʹ࡞Γࠐ·Ε͍ͯͨͷͰҠߦ͕؆୯Ͱͳ͔ͬͨ
Codepipelineͷྑ͍ • AWSͷଞαʔϏεͱͷ࿈ܞ • CodeBuildɺECSɺCloudFormationɺLambdaͳͲ • ଞͷCI/CDαʔϏεͰɺCLIͰAPIୟ͚͍͍ͷͰɺ ػೳతʹ͜͜ʹେ͖ͳ༏Ґੑͳ͍ͱࢥ͏ • IAMͷೝূճΓͰAccessKey/SecretKeyΛ͞ͳͯ͘
͍͍͘Β͍
Codepipelineͷྑ͍ • CloudWatch EventͰͷPipelineىಈ • GithubͷPushҎ֎ʹ༷ʑͳΠϕϯτͰىಈͰ͖Δ • ࠓͷͱ͜S3͔ͬͯ͠ͳ͍͕ɺଞʹԿ͔͑ͦ͏ͳ ؾ͍ͯ͠Δ
CodepipelineͷࠔΓ͝ͱ
CodepipelineͷࠔΓ͝ͱ • GitͷTagࢦఆͰιʔεΛऔಘͰ͖ͳ͍ • TagࢦఆͰιʔεΛऔΓ͍ͨέʔε͕݁ߏ͋Δ • Dev/StagingͰݕূ͕ऴΘͬͨόʔδϣϯΛ TagͰࢦఆͯ͠σϓϩΠ͢ΔɹɹͳͲ Github CodePipeline
Jenkins S3 TagΛऔಘ Upload JenkinsͱS3ͰͬͯΔ
CodepipelineͷࠔΓ͝ͱ • ύϥϝʔλʔΛࢦఆͯ͠PipelineΛ࣮ߦ͍ͨ͠ • ʢͦͦɺͦͷӡ༻͕ਖ਼͍͔͠ஔ͍ͱ͍ͯʣ • ڥ໊ʢDev/Staging/ProdʣͳͲɺ ύϥϝʔλʔͰ͍ͨ͠ͷ͕͋Δ • S3ʹYAMLΛஔ͍ͨΓɺLambdaͰύϥϝʔλʔΛ
ੜͯ͠ରॲ CodePipeline parameter.yml source
Codepipelineͷ͍উख • ϦϦʔεॳʮ୭͕͏Μͩ…ʯͱ͍͏ҹͩͬͨ • CodeBuildʗLambda࿈ܞ͕ग़ͨ͜ͱʹΑΓɺ PipelineαʔϏεͱͯ͑͠ΔΑ͏ʹͳ͖ͬͯͨ • Ұ൪ͷࠔΓ͝ͱͩͬͨCodeBuildʹҰ͔ͭ͠ ΠϯϓοτΛͤͳ͍ͱ͍͏੍͕͕͋ͬͨɺ ࠷ۙվળ͞Εͨ
• CodeBuild Multi Input Source
CodepipelineΛબ͢Δ͔Ͳ͏͔ • Circle CIGitlab CIͱਅਖ਼໘͔ΒԥΓ߹ͬͨΒ ෛ͚Δͱࢥ͍·͕͢ɺ࠷ݶͳ͍ • AWSͷαʔϏε্Ͱ͑ΔͷɺΓڧ͍ • ϢʔβʔཧίετཧΛAWSӡ༻ͷԆͰͰ͖Δ
• AWSͰӡ༻͍ͯͯ͠ଞͷαʔϏεͬͯͳ͍ͳΒ ࠷ॳͷબࢶʹͳΔ
ൃදҎ্Ͱ͢
Ұॹʹಇ͍ͯ͘ΕΔํืूͯ͠ΔͷͰ ڵຯ͋Εੋඇ͓ئ͍͠·͢ • AWSΨϯΨϯ͍͍ͨ • SREΓ͍ͨ • ιχʔʹؔΘΓ͍ͨ • ςϨϏ͕͖ɹɹɹɹɹɹͳͲ
https://www.gpcareers.sony.co.jp/000/u/job.phtml? job_code=149&company_code=8