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
201909-PHPCon北海道-PHPでCI_CD.pdf
Search
Kaz Watanabe
September 21, 2019
Technology
4.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
201909-PHPCon北海道-PHPでCI_CD.pdf
Kaz Watanabe
September 21, 2019
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
39
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
490
開発エンジニアが実践するDevSecOps
kaz29
0
170
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
390
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
Other Decks in Technology
See All in Technology
Claude Codeの体系的な理解と知識のフック
oikon48
8
6k
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
280
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
130
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.7k
AI時代のデータ基盤を考える問い
pacocat
0
740
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
86k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
4
1.9k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
atproto spaces概要
yamarten
0
110
Claude Teamプランの コスト最適化を考える
rfdnxbro
1
800
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
Typedesign – Prime Four
hannesfritz
42
3.1k
Between Models and Reality
mayunak
4
410
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
220
Become a Pro
speakerdeck
PRO
31
6.2k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Transcript
PHPͰCI/CD ࢲ࠷ۙ͜Μͳײ͡Ͱͬͯ·͢ Θͨͳ@kaz_29 @PHPΧϯϑΝϨϯεւಓ 2019
WHO? ลҰ(@kaz_29) גࣜձࣾϋʔτϏʔπ ։ൃࣄۀ෦ WebΞϓϦέʔγϣϯͷ։ൃ iOS/AndroidΞϓϦέʔγϣϯͷ։ൃ ΫϥυΠϯϑϥͷߏஙɾӡ༻
None
None
#hbSAKABA podcastͬͯ·͢
ΑΖ͘͠ ͓ئ͍͠·͢
PHPͰCI/CD
Q?
Q CIΛ࣮ફ͍ͯ͠Δਓ?
Q CDΛ࣮ફ͍ͯ͠Δਓ?
CI ܧଓతΠϯςάϨʔγϣϯ
XP - ։ൃͷϓϥΫςΟε • ςετۦಈ։ൃ • ϖΞϓϩάϥϛϯά • ϦϑΝΫλϦϯά •
ιʔείʔυͷڞಉॴ༗ • ܧଓతΠϯςάϨʔγϣϯ • YAGNI
ܧଓతΠϯςάϨʔγϣϯ • ιʔείʔυ͕मਖ਼͞ΕΔͨͼʹϏϧυΛ࣮ߦ • ςετΛࣗಈ࣮ߦ͠GREENͳঢ়ଶΛอͭ • Ϗϧυઐ༻ͷػࡐαʔϏεΛ͏ • ϝτϦοΫΛऔಘ͢Δ
CD ܧଓతσϦόϦʔ
ܧଓతσϦόϦʔ CIͰςετ͞ΕͨιϑτΣΞΛ ࣗಈతʹϦϦʔε͢Δ https://www.amazon.co.jp/dp/4048707876
ܧଓతσϦόϦʔ • ϓϩδΣΫτ։͔࢝࣌ΒࣗಈԽ͢Δ • ͯ͢ͷڥΛಉ͡ํ๏ͰσϓϩΠ͢Δ CDͷϓϩηεࣗମ͕܁Γฦ͠ςετ͞ΕΔ͜ͱʹͳΔ
CI/CDΛ࢝ΊΔͨΊʹ • ιʔείʔυͷόʔδϣϯཧ • σʔλϕʔεϚΠάϨʔγϣϯͷࣗಈԽ • ࣗಈςετ • UnitTest •
݁߹ςετ
ͳͥΔͷ͔ʁ
None
https://www.ryuzee.com/contents/blog/6102 https://slide.meguro.ryuzee.com/slides/59
িܸΛड͚ͨ
ͳͥΔͷ͔ʁ • ҆৺ͯ͠ϦϦʔε͍ͨ͠ • ࣗಈςετ • ୭ͰϦϦʔεͰ͖Δ • ૉૣ͘ϦϦʔεͯ͠ϑΟʔυόοΫΛΒ͏ •
ૉૣ͘վળͯ͠සൟʹϦϦʔε • ΞϓϦͷঢ়ଶΛѲ͍ͨ͠ • ςετͷঢ়گΛอଘ • ੩తղੳ݁Ռͷอଘ
࣮ફͨ͠ • 2012-10-01 - CakePHP2࣮ફೖ͕Ͱ·ͨ͠(deployͷষΛॻ͍ͨ) http://kaz29.hatenablog.com/entry/2012/10/01/100150 • 2012-10-30 - ࠓ࣌ͳCakePHPͰͷ։ൃڥʂʁ
http://kaz29.hatenablog.com/entry/2012/11/30/173424 • 2013-04-30 - ʮCIΛؒ·Θͯ͠Έͯʯͱ͍͏͓ͰLTΛ͖ͯ͠·ͨ͠ http://kaz29.hatenablog.com/entry/2013/04/30/122642 • 2013-04-30 - ʮCakePHPͰֶͿܧଓతΠϯςάϨʔγϣϯʯ- CakePHPΛͬ ͯܧଓతΠϯςάϨʔγϣϯΛ࣮ફ͢Δͳ͕ΕΛղઆͨ͠ॻ੶͕ग़൛͞Ε·͢ http://kaz29.hatenablog.com/entry/2014/09/03/095358
ࢲ࠷ۙ͜Μͳײ͡Ͱ ͬͯ·͢
#1
#1 • Jenkins • εςʔδϯάαʔόʹ͍͋ͷΓ • ઐ༻CIαʔό • Capistrano2 •
εςʔδϯάͷΈࣗಈߋ৽ • ։ൃڥ • Mac্ͷApache/PHP
#2
#2 • CircleCI(v1) • UnitTest • Capistrano3 • ࣗಈσϓϩΠͬͯͳ͍ •
։ൃڥ • Vagrant (+Chef solo)
#3
#3 • CircleCI(v2) • UnitTest • dockerԽ • Ansistrano •
ࣗಈσϓϩΠͬͯͳ͍ • ϓϩϏδϣχϯάͱಉ͡πʔϧ • ։ൃڥ • Vagrant+Ansible local • Docker
#4 ʙ ͍·
#4 ʙ ͍· AWS CodePipeline Azure DevOps ͪΖΜଞͷαʔϏεͬͯ·͢
AWS CodePipeline
AWS CodePipeline • AWS͕ఏڙ͢ΔϑϧϚωʔδυͳCI/CDαʔϏε • ෳͷαʔϏεΛऔΓ·ͱΊΔܗͰߏ͞Ε͍ͯΔ CodeCommit / CodeBuild /
CodeDeploy • AWSͷαʔϏεͱͷߴ͍ੑ
None
AWS FargateͰB/G(1) • Cloud Formation • AWS Fargate • Amazon
Aurora • AWS CodePipeline
https://github.com/aws-samples/ecs-blue-green-deployment/tree/fargate Λϕʔεʹߏங
AWS FargateͰB/G(2) • AWS cdk(Cloud Formation) • AWS Fargate •
Amazon Aurora • AWS Codepipeline NEW!
None
AWS FargateͰB/G(2) • AWS cdkͰߏங • ϦιʔεߏஙͱύΠϓϥΠϯΛͰ͖ͨ • CloudFormationΛΘͳ͍ •
͍׳ΕͨίʔυͰΠϯϑϥΛߏஙͰ͖Δ • IDEͷίʔυิͷԸܙ
Azure DevOps
Azure DevOps • MS͕ఏڙ͢ΔϚωʔδυͳCI/CDαʔϏε چVSTSΛࡢϦϒϥϯυ • ෳͷαʔϏεͰߏ Board / Repos
/ Pipelines / Artifacts • Azureͷ֤छαʔϏεͱͷੑ
None
Azure WebAppͰB/G • Azure WebApp for Containers • Azure Container
Registory • Azure Database for PostgreSQL • Azure DevOps
Azure WebAppͰB/G
Azure AKSͰB/G • Azure Kubernetes Service (AKS) • Azure Container
Registory • Azure Database for PostgreSQL • Azure DevOps
None
·ͣͬͯΈΑ͏ʂ
·ͱΊ
·ͱΊ • CI/CDΛߏங͢Δͱ҆৺ͯ͠վળΛਐΊΒΕΔ • ୭Ͱૉૣ҆͘શʹϦϦʔεͰ͖Δ • ঢ়ଶΛѲͰ͖ΔΑ͏ʹͳΔ(͘͢͠ͳΔ) • ڥ࣌ͱͱʹมԽ͍ͯ͘͠ •
PaaSͷར༻͕૿͖͑ͯͨ • ΫϥυϕϯμʔఏڙͷͷΛ͏ػձ͕૿͑ͨ
͓͠·͍ ͜Μͳ෩ʹͬͯΔͱ͔ɺ͜ΜͳࠔΓࣄ͕͋Δͱ͔ੋඇฉ͔͍ͤͯͩ͘͞ʂ