YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: rock-solid TYPO3 development with continuous integration and deployment

rock-solid TYPO3 developmentwith continuous integration

and deployment

TYPO3Camp PL - 2013.11

Sonntag, 20. Oktober 13

Page 2: rock-solid TYPO3 development with continuous integration and deployment

TolleivNietschSenior Developer at

@tolleiv

Sonntag, 20. Oktober 13

Page 3: rock-solid TYPO3 development with continuous integration and deployment

�������� � ���������

���������

�������������� �

Sonntag, 20. Oktober 13

Page 4: rock-solid TYPO3 development with continuous integration and deployment

Sonntag, 20. Oktober 13

Page 5: rock-solid TYPO3 development with continuous integration and deployment

Sonntag, 20. Oktober 13

Page 6: rock-solid TYPO3 development with continuous integration and deployment

agenda

Sonntag, 20. Oktober 13

Page 7: rock-solid TYPO3 development with continuous integration and deployment

disclaimer

Sonntag, 20. Oktober 13

Page 8: rock-solid TYPO3 development with continuous integration and deployment

disclaimertools

Sonntag, 20. Oktober 13

Page 9: rock-solid TYPO3 development with continuous integration and deployment

disclaimertools

priorities

Sonntag, 20. Oktober 13

Page 10: rock-solid TYPO3 development with continuous integration and deployment

disclaimertools

priorities

details

Sonntag, 20. Oktober 13

Page 11: rock-solid TYPO3 development with continuous integration and deployment

disclaimertools

priorities

detailsNIH

Sonntag, 20. Oktober 13

Page 12: rock-solid TYPO3 development with continuous integration and deployment

the big picture

Sonntag, 20. Oktober 13

Page 13: rock-solid TYPO3 development with continuous integration and deployment

Sonntag, 20. Oktober 13

Page 14: rock-solid TYPO3 development with continuous integration and deployment

Version Control

Sonntag, 20. Oktober 13

Page 15: rock-solid TYPO3 development with continuous integration and deployment

Version Control

Sonntag, 20. Oktober 13

Page 16: rock-solid TYPO3 development with continuous integration and deployment

Unit TestsVersion Control

Sonntag, 20. Oktober 13

Page 17: rock-solid TYPO3 development with continuous integration and deployment

Unit TestsVersion Control

Sonntag, 20. Oktober 13

Page 18: rock-solid TYPO3 development with continuous integration and deployment

Unit Tests Build

Sonntag, 20. Oktober 13

Page 19: rock-solid TYPO3 development with continuous integration and deployment

Unit Tests Build

Sonntag, 20. Oktober 13

Page 20: rock-solid TYPO3 development with continuous integration and deployment

Install on“Integration”Build

Sonntag, 20. Oktober 13

Page 21: rock-solid TYPO3 development with continuous integration and deployment

Install on“Integration”Build

Sonntag, 20. Oktober 13

Page 22: rock-solid TYPO3 development with continuous integration and deployment

Install on“Integration” Integration Tests

Sonntag, 20. Oktober 13

Page 23: rock-solid TYPO3 development with continuous integration and deployment

Install on“Integration” Integration Tests

Sonntag, 20. Oktober 13

Page 24: rock-solid TYPO3 development with continuous integration and deployment

Install on „Staging“Integration Tests

Sonntag, 20. Oktober 13

Page 25: rock-solid TYPO3 development with continuous integration and deployment

Install on „Staging“Integration Tests

Sonntag, 20. Oktober 13

Page 26: rock-solid TYPO3 development with continuous integration and deployment

Install on „Staging“Integration Tests

Sonntag, 20. Oktober 13

Page 27: rock-solid TYPO3 development with continuous integration and deployment

Install on „Staging“

Install on„Production“

Sonntag, 20. Oktober 13

Page 28: rock-solid TYPO3 development with continuous integration and deployment

too simple?

Sonntag, 20. Oktober 13

Page 29: rock-solid TYPO3 development with continuous integration and deployment

challenges

Sonntag, 20. Oktober 13

Page 30: rock-solid TYPO3 development with continuous integration and deployment

Sonntag, 20. Oktober 13

Page 31: rock-solid TYPO3 development with continuous integration and deployment

Sonntag, 20. Oktober 13

Page 32: rock-solid TYPO3 development with continuous integration and deployment

Sonntag, 20. Oktober 13

Page 33: rock-solid TYPO3 development with continuous integration and deployment

uniquedev environment

Sonntag, 20. Oktober 13

Page 34: rock-solid TYPO3 development with continuous integration and deployment

Sonntag, 20. Oktober 13

Page 35: rock-solid TYPO3 development with continuous integration and deployment

Version Control

Sonntag, 20. Oktober 13

Page 36: rock-solid TYPO3 development with continuous integration and deployment

Version Control

PHP lint

Sonntag, 20. Oktober 13

Page 37: rock-solid TYPO3 development with continuous integration and deployment

Version Control

Sonntag, 20. Oktober 13

Page 38: rock-solid TYPO3 development with continuous integration and deployment

Version Control

Sonntag, 20. Oktober 13

Page 39: rock-solid TYPO3 development with continuous integration and deployment

Code ReviewsVersion Control

Sonntag, 20. Oktober 13

Page 40: rock-solid TYPO3 development with continuous integration and deployment

Code Reviews

„ The Unexpected Outcomes Of Code Review“ [6]

Version Control

Sonntag, 20. Oktober 13

Page 41: rock-solid TYPO3 development with continuous integration and deployment

Unit Tests

standalone extension tests - see @helhum [2] / @tolleiv [3]

Code Reviews

Sonntag, 20. Oktober 13

Page 42: rock-solid TYPO3 development with continuous integration and deployment

Unit Tests Build

Files

DB

Installer

Settings

Sonntag, 20. Oktober 13

Page 43: rock-solid TYPO3 development with continuous integration and deployment

Unit Tests

composer

Jenkins

minify js/css

.tar.gz“virtual

package” (revision)

gruntBuild

Sonntag, 20. Oktober 13

Page 44: rock-solid TYPO3 development with continuous integration and deployment

Analyse

TYPO3 Coding Standards Project [1]

Build

Sonntag, 20. Oktober 13

Page 45: rock-solid TYPO3 development with continuous integration and deployment

Install on“Integration”

fragile

shared dev server

Analyse

Sonntag, 20. Oktober 13

Page 46: rock-solid TYPO3 development with continuous integration and deployment

Unittests

Install on“Integration”

Sonntag, 20. Oktober 13

Page 47: rock-solid TYPO3 development with continuous integration and deployment

Integration Tests

SeleniumCucumber /

Behat

*SpecUnittests

Sonntag, 20. Oktober 13

Page 48: rock-solid TYPO3 development with continuous integration and deployment

✔✔✔

Apache Jmeter

Integration Tests

Install on“Staging”

Sonntag, 20. Oktober 13

Page 49: rock-solid TYPO3 development with continuous integration and deployment

Install on„Production“

Green / blue deployments

Install on“Staging”

Sonntag, 20. Oktober 13

Page 50: rock-solid TYPO3 development with continuous integration and deployment

Install on„Production“

Green / blue deployments

Zero Downtime

Install on“Staging”

Sonntag, 20. Oktober 13

Page 51: rock-solid TYPO3 development with continuous integration and deployment

Install on„Production“

Green / blue deployments

Plan B: rollback

Zero Downtime

Install on“Staging”

Sonntag, 20. Oktober 13

Page 52: rock-solid TYPO3 development with continuous integration and deployment

Install on„Production“

Green / blue deployments

Plan B: rollback

Zero Downtime

Green/bluebig scale

Install on“Staging”

Sonntag, 20. Oktober 13

Page 53: rock-solid TYPO3 development with continuous integration and deployment

Install on„Production“

Install on“Staging”

Sonntag, 20. Oktober 13

Page 54: rock-solid TYPO3 development with continuous integration and deployment

....

Sonntag, 20. Oktober 13

Page 55: rock-solid TYPO3 development with continuous integration and deployment

pipeline visualization

#280

Build Static Code Analysis

Unit Tests

Install on “Integration”

Integration Tests

Acceptance Tests

for team dashboards

Sonntag, 20. Oktober 13

Page 56: rock-solid TYPO3 development with continuous integration and deployment

pipeline visualization

#281

#280

Build Static Code Analysis

Unit Tests

Install on “Integration”

Integration Tests

Acceptance Tests

for team dashboards

Sonntag, 20. Oktober 13

Page 57: rock-solid TYPO3 development with continuous integration and deployment

pipeline visualization

#282

#281

#280

Build Static Code Analysis

Unit Tests

Install on “Integration”

Integration Tests

Acceptance Tests

for team dashboards

Sonntag, 20. Oktober 13

Page 58: rock-solid TYPO3 development with continuous integration and deployment

pipeline visualization

#283

#282

#281

#280

Build Static Code Analysis

Unit Tests

Install on “Integration”

Integration Tests

Acceptance Tests

for team dashboards

Sonntag, 20. Oktober 13

Page 59: rock-solid TYPO3 development with continuous integration and deployment

pipeline visualization

#284

#283

#282

#281

#280

Build Static Code Analysis

Unit Tests

Install on “Integration”

Integration Tests

Acceptance Tests

for team dashboards

Sonntag, 20. Oktober 13

Page 60: rock-solid TYPO3 development with continuous integration and deployment

pipeline visualization

#284

#283

#282

#281

#280

Build Static Code Analysis

Unit Tests

Install on “Integration”

Integration Tests

Acceptance Tests

#285

for team dashboards

Sonntag, 20. Oktober 13

Page 61: rock-solid TYPO3 development with continuous integration and deployment

DevboxIntegration

SandboxStaging

Production BProduction A

Sonntag, 20. Oktober 13

Page 62: rock-solid TYPO3 development with continuous integration and deployment

EnvSettingTool

Sonntag, 20. Oktober 13

Page 63: rock-solid TYPO3 development with continuous integration and deployment

deploymentfeature release

Sonntag, 20. Oktober 13

Page 64: rock-solid TYPO3 development with continuous integration and deployment

TestPyramid

Martin Fowler:Test Pyramid [9]

Sonntag, 20. Oktober 13

Page 65: rock-solid TYPO3 development with continuous integration and deployment

TestPyramid

Martin Fowler:Test Pyramid [9]

Sonntag, 20. Oktober 13

Page 66: rock-solid TYPO3 development with continuous integration and deployment

test plans

Sonntag, 20. Oktober 13

Page 67: rock-solid TYPO3 development with continuous integration and deployment

full stack knowledge

Sonntag, 20. Oktober 13

Page 68: rock-solid TYPO3 development with continuous integration and deployment

full stack debugging

Sonntag, 20. Oktober 13

Page 69: rock-solid TYPO3 development with continuous integration and deployment

DevOps, yeah!

Sonntag, 20. Oktober 13

Page 70: rock-solid TYPO3 development with continuous integration and deployment

startup time

Sonntag, 20. Oktober 13

Page 71: rock-solid TYPO3 development with continuous integration and deployment

developers meetings

hackathons

job chicken

knowledge sharing

mentoring

Sonntag, 20. Oktober 13

Page 72: rock-solid TYPO3 development with continuous integration and deployment

[1] TYPO3 Coding Standards Project [2] @helhum - standalone extension tests

[3] @tolleiv - standalone unit tests[4] Capistrano on Github

[6] The Unexpected Outcomes Of Code Review[7] EnvSettingTool on Github

[8] Performance Measurement and Tuning[9] Martin Fowler: Test Pyramid

[10] EasyDeployWorkflows[11] EXT:coreapi on Github

read on

https://github.com/etobi/ext-coreapi

https://github.com/AOEmedia/EasyDeployWorkflows

http://martinfowler.com/bliki/TestPyramid.html

http://www.slideshare.net/aoemedia/performance-measurement-and-tuning

https://github.com/AOEmedia/EnvSettingsTool

http://blog.codeclimate.com/blog/2013/10/09/unexpected-outcomes-of-code-reviews/

https://github.com/capistrano/capistrano

http://www.slideshare.net/aoemedia/

https://github.com/tolleiv/typo3-ext-ci

http://typo3.helmut-hummel.de/post/63972451370/executing-typo3-cms-unit-test-tests-in-phpstorm

http://forge.typo3.org/projects/team-php_codesniffer/wiki/Using_the_TYPO3_Coding_Standard

Sonntag, 20. Oktober 13

Page 73: rock-solid TYPO3 development with continuous integration and deployment

Thank you!Any questions?

www.aoemedia.com@aoepeople

www.tolleiv.de @tolleiv

Sonntag, 20. Oktober 13


Related Documents