Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
46
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
510
開発エンジニアが実践する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
PQC移行の今 -- IETF からみた現在地
satokan
4
650
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
190
企業の現実世界をグラフで写し取る
sansantech
PRO
0
200
LT:「このままでいいのかな?」から一歩踏み出した私のデータキャリア選択〜社会人3年目に上京を決意したリアル〜Snowflake女子会 vol.8
snowwmn0824
0
110
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
250
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
120
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
130
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3.4k
20260915deck.gl-raster を使ってみた
rena1208
0
160
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
570
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
160
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
410
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
600
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
For a Future-Friendly Web
brad_frost
183
10k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
The browser strikes back
jonoalderson
0
1.7k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Producing Creativity
orderedlist
PRO
348
41k
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ͷར༻͕૿͖͑ͯͨ • ΫϥυϕϯμʔఏڙͷͷΛ͏ػձ͕૿͑ͨ
͓͠·͍ ͜Μͳ෩ʹͬͯΔͱ͔ɺ͜ΜͳࠔΓࣄ͕͋Δͱ͔ੋඇฉ͔͍ͤͯͩ͘͞ʂ