Slide 1

Slide 1 text

@ k a z _ 2 9 2 0 1 9 / 2 / 2 7 @ p h p ษ ڧ ձ # 1 3 5 P H P Ͱ C I / C D ʙ ࠷ ۙ ͜ Μ ͳ ײ ͡ Ͱ ΍ ͬͯ · ͢

Slide 2

Slide 2 text

W H O ? ౉ลҰ޺(@kaz_29) גࣜձࣾϋʔτϏʔπ ։ൃࣄۀ෦ WebΞϓϦέʔγϣϯͷ։ൃ iOS/AndroidΞϓϦέʔγϣϯͷ։ൃ Ϋϥ΢υΠϯϑϥͷߏஙɾӡ༻

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

P o d c a s t ࢝ Ί · ͠ ͨ ʂ #hbsakaba

Slide 5

Slide 5 text

– J O H N N Y A P P L E S E E D “we are hiring”

Slide 6

Slide 6 text

C I / C D

Slide 7

Slide 7 text

C I / C D • CI - Continuous Integration • ܧଓతΠϯςάϨʔγϣϯ • CD - Continuous Delivery • ܧଓతσϦόϦʔ

Slide 8

Slide 8 text

“CI/CD͸1ͭͷٕज़Λࢦ͢΋ͷͰͳ͘ɺιϑτ ΢ΣΞͷมߋΛৗʹςετͯࣗ͠ಈͰຊ൪؀ڥʹ ϦϦʔεՄೳͳঢ়ଶʹ͓ͯ͘͠ɺιϑτ΢ΣΞ։ ൃͷख๏”

Slide 9

Slide 9 text

Q u e s t i o n ? C I / C D ࣮ ફ ͯ͠ ͍ Δ ํ

Slide 10

Slide 10 text

ग़ ձ ͍

Slide 11

Slide 11 text

2 0 1 2 / 1 1 / 0 3

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

https://www.ryuzee.com/contents/blog/6102 https://slide.meguro.ryuzee.com/slides/59

Slide 14

Slide 14 text

࣮ ફ ͠ ͨ • 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

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

C I / C D ؀ ڥ ͷ ม ભ / ; Γ ͔͑Γ

Slide 17

Slide 17 text

# 1

Slide 18

Slide 18 text

# 1 • Jenkins • εςʔδϯάαʔόʹ͍͋ͷΓ • ઐ༻CIαʔό • Capistrano2 • εςʔδϯά͸ࣗಈߋ৽ • ։ൃ؀ڥ • Mac্ͷApache/PHP

Slide 19

Slide 19 text

# 2

Slide 20

Slide 20 text

# 2 • CircleCI(v1) • UnitTest • Capistrano • ࣗಈσϓϩΠ͸΍ͬͯͳ͍ • ։ൃ؀ڥ • Vagrant (+Chef)

Slide 21

Slide 21 text

# 3

Slide 22

Slide 22 text

# 2 • CircleCI(v1) • UnitTest • dockerԽ • Ansistrano • ࣗಈσϓϩΠ͸΍ͬͯͳ͍ • ϓϩϏδϣχϯάͱಉ͡πʔϧ • ։ൃ؀ڥ • Vagrant+Ansible • Docker

Slide 23

Slide 23 text

# 4 ʙ N O W

Slide 24

Slide 24 text

# 4 ʙ N O W • AWS CodePipeline • Azure DevOps

Slide 25

Slide 25 text

A W S C o d e P i p e l i n e

Slide 26

Slide 26 text

A W S C o d e P i p e l i n e • Docker imageͷbuild • ECR΁ͷPush • Deploy • ECS(Fargate)΁ͷB/G deploy • खಈapproveͰB/GΛswap

Slide 27

Slide 27 text

S A M P L E AWS CodePipeline + ECS Fargate

Slide 28

Slide 28 text

S a m p l e https://github.com/aws-samples/ecs-blue-green-deployment/tree/fargate

Slide 29

Slide 29 text

A W S C o d e P i p e l i n e

Slide 30

Slide 30 text

A W S C o d e P i p e l i n e

Slide 31

Slide 31 text

A W S C o d e P i p e l i n e https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/sample-docker.html buildspec.yml sample

Slide 32

Slide 32 text

A z u re D e v O p s

Slide 33

Slide 33 text

A z u re D e v O p s • Visual Studio Team ServicesʢVSTSʣΛϦϒϥϯυͯ͠࠶ߏஙͨ͠αʔϏε • ։ൃऀ5໊·Ͱ͸ແྉͰ࢖͑Δ(10Ϣʔβ ¥3,360/݄) • Ұݸͷδϣϒ (1,800෼/݄·Ͱ) • ͔Μ͹ΜϘʔυ • GitϦϙδτϦແ੍ݶ(Githubͱ΋࿈ܞՄೳ) • ؔ܎ऀແ੍ݶ(ϦϙδτϦ͸ݟΕͳ͍) • Visual Studio αϒεΫϥΠόʔ͸Χ΢ϯτ͞Εͳ͍

Slide 34

Slide 34 text

A z u re D e v O p s • Azure Boards -> ͔Μ͹ΜϘʔυ • Azure Pipelines -> CI/CDͷ࣮ߦϓϥοτϗʔϜ • Azure Repos -> Git ϦϙδτϦ • Azure Test Plans -> ୳ࡧςετ(?) • Azure Artifacts -> ύοέʔδϦϙδτϦ

Slide 35

Slide 35 text

A z u re D e v O p s • Git repository • ͔Μ͹ΜϘʔυ • Build pipeline • UnitTest • Docker imageͷbuild • ACR΁ͷpush • AKS΁ͷB/G deploy • खಈapproveͰGreenΛstage

Slide 36

Slide 36 text

S A M P L E Azure DevOps + Azure Kubernetes Service(AKS)

Slide 37

Slide 37 text

S a m p l e

Slide 38

Slide 38 text

A z u re D e v O p s

Slide 39

Slide 39 text

A z u re D e v O p s

Slide 40

Slide 40 text

A z u re D e v O p s

Slide 41

Slide 41 text

A z u re D e v O p s

Slide 42

Slide 42 text

A z u re D e v O p s

Slide 43

Slide 43 text

A z u re D e v O p s

Slide 44

Slide 44 text

· ͱ Ί

Slide 45

Slide 45 text

· ͱ Ί • CI/CD؀ڥͷӡ༻͸݁ߏେม • ࡞Γͬͺͳ͠ʹ͢Δͱࢮ͵ • ཁ݅తʹڐ͢ͳΒSaaSָ͕ • Ϋϥ΢υϕϯμඪ४ͷ΋ͷΛ࢖͏ͱศར • ݸਓతʹAzure DevOpsΦεεϝ

Slide 46

Slide 46 text

࠙ ਌ ձ Ͱ օ ͞ Μ Ͳ Μ ͳ ײ ͡ ͔ ੋ ඇ ฉ ͔ ͤ ͯ͘ ͩ ͞ ͍ ʂ ͓͠·͍