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
38
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
380
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
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.4k
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
320
新しい SLO が良い感じにハマっている話
z63d
5
2.1k
事業価値と Engineering 2026年度版
recruitengineers
PRO
41
21k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
200
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
350
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
140
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
230
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.7k
モバイルアプリ開発概論2026
recruitengineers
PRO
3
470
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
56k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
490
Measuring & Analyzing Core Web Vitals
bluesmoon
9
950
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Product Roadmaps are Hard
iamctodd
55
12k
First, design no harm
axbom
PRO
2
1.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
360
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Deep Space Network (abreviated)
tonyrice
0
250
How to train your dragon (web standard)
notwaldorf
97
6.7k
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ͷར༻͕૿͖͑ͯͨ • ΫϥυϕϯμʔఏڙͷͷΛ͏ػձ͕૿͑ͨ
͓͠·͍ ͜Μͳ෩ʹͬͯΔͱ͔ɺ͜ΜͳࠔΓࣄ͕͋Δͱ͔ੋඇฉ͔͍ͤͯͩ͘͞ʂ