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
700
Codepipelineの話
Shun Satou
October 03, 2018
Tweet
Share
More Decks by Shun Satou
See All by Shun Satou
ソニーでの事例から考えるプラットフォーム開発
shunsato123
4
1.5k
テレビ・レコーダーのバックエンドにおけるCI/CDへの取り組み
shunsato123
4
3.4k
Other Decks in Technology
See All in Technology
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
770
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
1.7k
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
4k
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
Real World Type Puzzle and Code Generation
yukukotani
4
590
Cloud Service Mesh に触れ合う
phaya72
1
360
.NET Profiler in 2024.
kkamegawa
2
3.1k
M5と自作基板をくっつけてみた〜M5 Japan Tour 2024 Spring 福冈 (Fukuoka|福岡)〜
keropiyo
1
260
QA経験のないエンジニアリング マネージャーがQAのカジュアル面談に出て 苦労していること・気づいたこと / scrum fest niigata 2024
yoshikiiida
1
310
PHP 9 に備えよ - 動的プロパティ、どうすればいぃ?
taisukearase
0
120
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
13
4.7k
能動学習のいろは:書籍「Human-in-the-Loop機械学習」3〜5章
hiroyoshiito
0
260
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Fireside Chat
paigeccino
22
2.7k
Visualization
eitanlees
137
14k
4 Signs Your Business is Dying
shpigford
176
21k
A designer walks into a library…
pauljervisheath
201
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
Clear Off the Table
cherdarchuk
85
310k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Happy Clients
brianwarren
92
6.4k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.5k
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