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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
35
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
190
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
490
開発エンジニアが実践するDevSecOps
kaz29
0
150
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
370
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
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
410
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
130
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
130
水を運ぶ人としてのリーダーシップ
izumii19
1
130
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1.3k
入門!AWS Blocks
ysuzuki
1
160
When Platform Engineering Meets GenAI
sucitw
0
140
現場のトークンマネジメント
dak2
1
150
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
690
GitHub Copilot app最速の発信の裏側
tomokusaba
1
200
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
4
2.3k
Kiro Ambassador を目指す話
k_adachi_01
0
110
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
Scaling GitHub
holman
464
140k
Making Projects Easy
brettharned
120
6.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Code Review Best Practice
trishagee
74
20k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
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ͷར༻͕૿͖͑ͯͨ • ΫϥυϕϯμʔఏڙͷͷΛ͏ػձ͕૿͑ͨ
͓͠·͍ ͜Μͳ෩ʹͬͯΔͱ͔ɺ͜ΜͳࠔΓࣄ͕͋Δͱ͔ੋඇฉ͔͍ͤͯͩ͘͞ʂ