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
710
Codepipelineの話
Shun Satou
October 03, 2018
Tweet
Share
More Decks by Shun Satou
See All by Shun Satou
ソニーでの事例から考えるプラットフォーム開発
shunsato123
4
1.8k
テレビ・レコーダーのバックエンドにおけるCI/CDへの取り組み
shunsato123
4
3.5k
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
160
SREの前に
nwiizo
11
2.8k
Engineering at LY Corporation
lycorp_recruit_jp
0
410
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
0
1.7k
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
250
Lexical Analysis
shigashiyama
1
140
freeeのモバイルエンジニアについて
freee
1
110
ライブラリでしかお目にかかれない珍しい実装
mikanichinose
2
340
強いチームと開発生産性
onk
PRO
7
2.4k
State of Open Source Web Mapping Libraries
dayjournal
0
220
Railsで4GBのデカ動画ファイルのアップロードと配信、どう実現する?
asflash8
1
240
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
28k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Statistics for Hackers
jakevdp
796
220k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Documentation Writing (for coders)
carmenintech
65
4.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Facilitating Awesome Meetings
lara
49
6.1k
Designing for Performance
lara
604
68k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Gamification - CAS2011
davidbonilla
80
5k
Scaling GitHub
holman
458
140k
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