Upload
helmut-hummel
View
1.423
Download
0
Embed Size (px)
DESCRIPTION
A short introduction to TYPO3 Surf
Citation preview
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
T3DD14 TYPO3 Surf
Helmut Hummel <[email protected]>
07.07.2013
Creating a Toolbox for TYPO3 CMS Deployment
1
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
T3DD14 - TYPO3 Surf for TYPO3 CMS
Agenda• Introduction to TYPO3 Surf
• Hands on - Installing Surf and deploying your first App
• Required Workflows/ Tools for TYPO3 CMS Deployments
• Hands on - Working on (some) Workflows/ Tools
2
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
Introduction to TYPO3 Surf
3
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
Task Runner
4
Node
Application
Node
Application
TYPO3 Surf Architecture
5
Deployment
Workflow Application
Node
StageTask
Stage
Stage
Task
Task
Task
Task
Task
Node
Application
Node
Application
TYPO3 Surf Scenario
6
Deployment
Workflow customer.tld
Server1
Packagecheckout
Transfer
Switch
tar
rsync
mysql
cache
link
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
Describe Deployment in PHP
7
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop 8
<?php/** @var \TYPO3\Surf\Domain\Model\Deployment $deployment */$application = new \TYPO3\Surf\Domain\Model\Application('Demo');$node = new \TYPO3\Surf\Domain\Model\Node('Vhost1 on local system');$node->setHostname('localhost');$application->addNode($node);$workflow = new \TYPO3\Surf\Domain\Model\SimpleWorkflow();$deployment->setWorkflow($workflow);"$deployment->addApplication($application);
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
The Application adds Tasks to the Workflow
9
TYPO3 Surf
Workflow Stages• Initialize
• Package
• Transfer
• Update
• Migrate
• Finalize
• Test
• Switch
• Cleanup10
TYPO3 Surf
Stage Initialize• Create Directories (first time deploy)
11
TYPO3 Surf
Stage Package• Create a packaged application locally
• All (static) assets
• Necessary database updates/ inserts
• Application code (from VCS)
• Tasks available for the following methods:
• git
12
TYPO3 Surf
Stage Transfer• Transfer the application package to each node
• Tasks available for the following methods:
• git
• rsync
13
TYPO3 Surf
Stage Update• „Update Application assets on the node“
• Tasks available: none
14
TYPO3 Surf
Stage Migrate• Migration tasks
• Database migration
• Code migration?
• Tasks available: none (for TYPO3 CMS)
15
TYPO3 Surf
Stage Finalize• Last steps before your app is ready to run
• Cache warmup
• …
• Tasks available: none (for TYPO3 CMS)
• VarnishBan
• VarnishPurge
16
TYPO3 Surf
Stage Test• Test if your App would run like expected
• Smoke Tests
• Tasks available
• HttpTestTask
17
TYPO3 Surf
Stage Switch• Switch from the old deployed state to the new
• Tasks available
• SymlinkReleaseTask
18
TYPO3 Surf
Stage Cleanup• Remove temporary files needed for deployment
• Tasks available
• CleanupReleases
• (other publishing tasks like git tag or source forge upload)
19
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
TYPO3 Surf is a toolbox
20
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
Let’s add some more tools!
21
Inspiring people toshare
TYPO3 Developer Days - Eindhoven 2014
TYPO3 Surf Workshop
Installing TYPO3 Surf
22
23
$ composer create-project typo3-surf-cms/distribution TYPO3.Surf $ $ cd TYPO3.Surf $ ./flow surf:list