rock-solid typo3 development with continuous integration and deployment
DESCRIPTION
Shows our best practices of TYPO3 deployment and how these should be integrated in your development workflow. Highlights some of the most recent technologies and how AOE GmbH integrates them towards a smooth and quick rollout of web applications.TRANSCRIPT
rock-solid TYPO3 developmentwith continuous integration
and deployment
TYPO3Camp PL - 2013.11
Sonntag, 20. Oktober 13
TolleivNietschSenior Developer at
@tolleiv
Sonntag, 20. Oktober 13
�������� � ���������
���������
�������������� �
Sonntag, 20. Oktober 13
Sonntag, 20. Oktober 13
Sonntag, 20. Oktober 13
agenda
Sonntag, 20. Oktober 13
disclaimer
Sonntag, 20. Oktober 13
disclaimertools
Sonntag, 20. Oktober 13
disclaimertools
priorities
Sonntag, 20. Oktober 13
disclaimertools
priorities
details
Sonntag, 20. Oktober 13
disclaimertools
priorities
detailsNIH
Sonntag, 20. Oktober 13
the big picture
Sonntag, 20. Oktober 13
Sonntag, 20. Oktober 13
Version Control
Sonntag, 20. Oktober 13
Version Control
Sonntag, 20. Oktober 13
Unit TestsVersion Control
Sonntag, 20. Oktober 13
Unit TestsVersion Control
Sonntag, 20. Oktober 13
Unit Tests Build
Sonntag, 20. Oktober 13
Unit Tests Build
Sonntag, 20. Oktober 13
Install on“Integration”Build
Sonntag, 20. Oktober 13
Install on“Integration”Build
Sonntag, 20. Oktober 13
Install on“Integration” Integration Tests
Sonntag, 20. Oktober 13
Install on“Integration” Integration Tests
Sonntag, 20. Oktober 13
Install on „Staging“Integration Tests
Sonntag, 20. Oktober 13
Install on „Staging“Integration Tests
Sonntag, 20. Oktober 13
Install on „Staging“Integration Tests
Sonntag, 20. Oktober 13
Install on „Staging“
Install on„Production“
Sonntag, 20. Oktober 13
too simple?
Sonntag, 20. Oktober 13
challenges
Sonntag, 20. Oktober 13
Sonntag, 20. Oktober 13
Sonntag, 20. Oktober 13
Sonntag, 20. Oktober 13
uniquedev environment
Sonntag, 20. Oktober 13
Sonntag, 20. Oktober 13
Version Control
Sonntag, 20. Oktober 13
Version Control
PHP lint
Sonntag, 20. Oktober 13
Version Control
Sonntag, 20. Oktober 13
Version Control
Sonntag, 20. Oktober 13
Code ReviewsVersion Control
Sonntag, 20. Oktober 13
Code Reviews
„ The Unexpected Outcomes Of Code Review“ [6]
Version Control
Sonntag, 20. Oktober 13
Unit Tests
standalone extension tests - see @helhum [2] / @tolleiv [3]
Code Reviews
Sonntag, 20. Oktober 13
Unit Tests Build
Files
DB
Installer
Settings
Sonntag, 20. Oktober 13
Unit Tests
composer
Jenkins
minify js/css
.tar.gz“virtual
package” (revision)
gruntBuild
Sonntag, 20. Oktober 13
Analyse
TYPO3 Coding Standards Project [1]
Build
Sonntag, 20. Oktober 13
Install on“Integration”
fragile
shared dev server
Analyse
Sonntag, 20. Oktober 13
Unittests
Install on“Integration”
Sonntag, 20. Oktober 13
Integration Tests
SeleniumCucumber /
Behat
*SpecUnittests
Sonntag, 20. Oktober 13
✔✔✔
Apache Jmeter
Integration Tests
Install on“Staging”
Sonntag, 20. Oktober 13
Install on„Production“
Green / blue deployments
Install on“Staging”
Sonntag, 20. Oktober 13
Install on„Production“
Green / blue deployments
Zero Downtime
Install on“Staging”
Sonntag, 20. Oktober 13
Install on„Production“
Green / blue deployments
Plan B: rollback
Zero Downtime
Install on“Staging”
Sonntag, 20. Oktober 13
Install on„Production“
Green / blue deployments
Plan B: rollback
Zero Downtime
Green/bluebig scale
Install on“Staging”
Sonntag, 20. Oktober 13
Install on„Production“
Install on“Staging”
Sonntag, 20. Oktober 13
....
Sonntag, 20. Oktober 13
pipeline visualization
#280
Build Static Code Analysis
Unit Tests
Install on “Integration”
Integration Tests
Acceptance Tests
for team dashboards
Sonntag, 20. Oktober 13
pipeline visualization
#281
#280
Build Static Code Analysis
Unit Tests
Install on “Integration”
Integration Tests
Acceptance Tests
for team dashboards
Sonntag, 20. Oktober 13
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
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
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
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
DevboxIntegration
SandboxStaging
Production BProduction A
Sonntag, 20. Oktober 13
EnvSettingTool
Sonntag, 20. Oktober 13
deploymentfeature release
Sonntag, 20. Oktober 13
TestPyramid
Martin Fowler:Test Pyramid [9]
Sonntag, 20. Oktober 13
TestPyramid
Martin Fowler:Test Pyramid [9]
Sonntag, 20. Oktober 13
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
✔
test plans
Sonntag, 20. Oktober 13
full stack knowledge
Sonntag, 20. Oktober 13
full stack debugging
Sonntag, 20. Oktober 13
DevOps, yeah!
Sonntag, 20. Oktober 13
startup time
Sonntag, 20. Oktober 13
developers meetings
hackathons
job chicken
knowledge sharing
mentoring
Sonntag, 20. Oktober 13
[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
Thank you!Any questions?
www.aoemedia.com@aoepeople
www.tolleiv.de @tolleiv
Sonntag, 20. Oktober 13