Date post: | 31-Oct-2014 |
Category: |
Technology |
Upload: | mayflower-gmbh |
View: | 8,091 times |
Download: | 1 times |
© 2011 Mayflower GmbH
Thorsten Rinne I 11th October 2011
Building a Cloud-based Social Network with Zend Framework and Doctrine 2
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Team LeadScrum MasterHead of Open Source Labs
@ThorstenRinne2
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Last year a new customer came up with an idea...
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
A Social Network!
4
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
A Social Network?
5
for friends.Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 6
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 7
for business.
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 8
for videos.
for photos.Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 9
for real estate?Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 10
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
The idea:Connect people, buildings
and businesses.
11
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 12
Business
People
Building
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 12
Business
People
Building
... is living at ...
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 12
Business
People
Building
... is living at ...... is the home of ...
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 12
Business
People
Building
... is an employee of ...... is living at ...... is the home of ...
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 12
Business
People
Building
... is an employee of ...... is living at ...... is the home of ...
... has as employee ...
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 12
Business
People
Building
... is an employee of ...... is living at ...
... has its office at ...
... is the home of ...
... has as employee ...
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 12
Business
People
Building
... is an employee of ...... is living at ...
... has its office at ...
... is the home of ...
... has as employee ...
... is the office location of ...
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We thought:Nice idea, let‘s start!
13
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
4 Requirements
14
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
1Agile software
development with Scrum
15
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 16
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
1 product owner (customer)
16
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
1 product owner (customer)
16
1 scrum master (myself)
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
1 product owner (customer)
16
1 scrum master (myself)1 development team
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
CancelGift wrap
Return
Productbacklog
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
CancelGift wrap
Return
Sprint2 weeks
Productbacklog
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
CancelGift wrap
Sprint2 weeks
Return
Sprint goal
Productbacklog
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
CancelGift wrap
Sprint2 weeks
Return
Sprint goal
Sprint backlog
Productbacklog
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
CancelGift wrap
Sprint2 weeks
Return
Sprint goal
Sprint backlog
Potentially shippableproduct increment
Productbacklog
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
CancelGift wrap
Sprint2 weeks
Return
Sprint goal
Sprint backlog
Potentially shippableproduct increment
Productbacklog
Coupons
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
Sprint2 weeks
Return
Sprint goal
Sprint backlog
Potentially shippableproduct increment
Productbacklog
Gift wrapCoupons
Cancel
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Scrum
Sprint2 weeks
Return
Sprint goal
Sprint backlog
Potentially shippableproduct increment
Productbacklog
Gift wrapCoupons
Cancel
24 hours
17
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
2Scalability
18
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Classic web architecture
19
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 20
Browser
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 20
Appserver 1 Appserver 2
Browser
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 20
Appserver 1 Appserver 2
DB SlaveDB Master
Browser
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We built a simple, scalable n-tier architecture.
21
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Frontend NodesBackend Nodes
22
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Frontend Nodes don‘t save anything. Never.
23
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Backend Nodes can be sharded and/or clustered.
24
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
The solution?The cloud.
25
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 26
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
3Simplicity
27
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Automate as much as possible
28
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
No new fancy things like Scala, node.js or MongoDB.
29
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 30
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
4Extensibility
31
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Lean StartupWe can kick/create new
features all the time
32
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Lean StartupDecoupled modules and
classes
33
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Architecture
34
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 35
Frontnode 1Varnish nginx
PHP 5.3
Frontnode 2Varnish nginx
PHP 5.3
Backendnode 3RabbitMQ
Apache SolrPHP 5.3
Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Is this scalable?
36
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 37
Frontnode 1Varnish nginx
PHP 5.3
Frontnode 2Varnish nginx
PHP 5.3
Backendnode 3RabbitMQ
Apache SolrPHP 5.3
Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 38
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 39
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Multiple Frontnodes
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 40
3
Multiple Frontnodes
Backend Sharding
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Infrastructure
41
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
One Ubuntu package to rule them all.
42
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Development VMsJenkins CI ServerSelenium Server
Monitoring ServerTesting Server
43
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Only on production:Frontend Nodes 11.04
Backend Nodes 10.04 LTS
44
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 45
☁☁ ☁
Mayflower DMZ
Eucalyptus Cloud
amazon AWS
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 46
☁☁ ☁
Mayflower DMZ
Eucalyptus Cloud
amazon AWSDeveloper Laptopwith Ubuntu VM
(Git repo + completesoftware stack)
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 47
☁☁ ☁
Mayflower DMZ
Eucalyptus Cloud
amazon AWSGitorious ServerJenkins CI Server
Puppet MasterSelenium Server
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 48
☁☁ ☁
Mayflower DMZ
Eucalyptus Cloud
amazon AWS
2 Frontnodes3 Backendnodes
Development MonitorStaging Monitor
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 49
☁☁ ☁
Mayflower DMZ
Eucalyptus Cloud
amazon AWS2 Frontnodes2 Backendnodes
DrupalLive Monitor
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 50
Configuration Management done with
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 51
Configuration changes are on every VM in 5 Minutes.
#WIN
http://www.flickr.com/photos/nirak/644337888/
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Application
52
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Do you remember?
53
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 54
Frontend 1Varnish nginx
PHP 5.3
Frontend 2Varnish nginx
PHP 5.3
Backendnode 3RabbitMQ
Apache SolrPHP 5.3
Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 55
Backendnode 3RabbitMQ
Apache SolrPHP 5.3
Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 55
Backendnode 3RabbitMQ
Apache SolrPHP 5.3Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 56
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Various transformations such as lowercasing, removing plurals, or stemming to increase relevancy.
57
Apache Solr XML REST API
ProfilesDE
Lucene Core
ProfilesEN
Lucene Core
Profilesi18n
Lucene Core
Autosuggest
Lucene Core
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Search queries tokenized with a LL(1) Parser
implemented in PHP.58
Search string: „mapolis“
LL(1) parser
„q=mapolis&sort=name desc&fl=name,id,country“
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Indexing is done with asynchronous jobs with
RabbitMQ.59
MySQL ApacheSolr
Profile informationautosuggestions
user generated content
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 60
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Why do we need a message broker?
61
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Example:Editing your profile
62
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 63
PHPApplication QueueExchange PHP CLI
Script
Publish Routes Consumes
MySQL ApacheSolr
sync
async
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Why RabbitMQ?
64
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 65
Backendnode 3RabbitMQ
Apache SolrPHP 5.3
Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 65
Backendnode 3RabbitMQ
Apache SolrPHP 5.3
Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
MogileFSan open source distributed filesystem
66
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Application levelNo single point of failureAutomatic file replicationShared nothing architectureLocal filesystem agnostic
67
Storage Nodes(mogstored)
Storage Nodes(mogstored)
Trackers(mogilefsd)Trackers
(mogilefsd)
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 68
Client(API: Perl)
Trackers(mogilefsd)
Storage Nodes(mogstored)
Tracker‘s database(MySQL)
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 69
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 70
Application
Host 1 Host 2
MySQLMaster
MySQLSlave
Replication
R/W
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 70
Application
Host 1 Host 2
MySQLMaster
MySQLSlave
Keepalive
Replication
R/WW
R
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some notes on our database architecture.
71
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We use MySQL as key/value storage.
72
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We implemented all relations in the application.
73
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We already prepared the database design for sharding
74
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Benefits:Very simple, scalable and
flexible architecture
75
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Drawbacks:More complexity in the
PHP code. But that‘s okay.
76
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 77
Frontend 1Varnish nginx
PHP 5.3
Frontend 2Varnish nginx
PHP 5.3
Backendnode 3RabbitMQ
Apache SolrPHP 5.3
Backendnode 2MySQL Slave
MogileFSMemcached
PHP 5.3
Backendnode 1MySQL Master
MogileFSMemcached
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 78
Frontend 1Varnish nginx
PHP 5.3
Frontend 2Varnish nginx
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 78
Frontend 1Varnish nginx
PHP 5.3
Frontend 2Varnish nginx
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 79
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Doctrine 2is a data-mapper,not ActiveRecord.
80
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We use Doctrine 2 as ORM.And we think it‘s great.
81
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
ORM with Doctrine 2
82
/** * @Entity * @Table(name="role") * */class Mapolis_Entity_Role{ /** * @Id * @Column(name="id", type="integer") * @generatedValue(strategy="IDENTITY") */ protected $_roleId;
/** * @Column(name="parent_id", type="integer") * @var int */ protected $_parentId;
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Working with objects
83
/** * Saves the personal interests of user. * * @param Mapolis_Entity_Person $profile * * @return void */public function savePersonalInterests( Mapolis_Entity_Person $profile){ $this->getManager() ->getRepository(self::ENTITY_PERSON) ->update($profile);}
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 84
★ Transactional write-behind (batch writes)★ Very fast for small UnitOfWorks
Working with objects/** * Deletes a building. * * @param Mapolis_Entity_Building $building * * @return boolean */ public function deleteBuilding($building) { $this->getManager()->remove($building); return $this->getManager()->flush(); }
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 85
Working with objects/** * Show recent invitations * * @return array of $count recent invitations */public function recent($inviter, $count = 5){ $invitations = $this->getManager() ->getRepository(self::ENTITY_INVITATION) ->findBy( array('_inviterId' => $inviter), array('_modified' => 'DESC'), $count ); return $invitations;}
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 86
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Why did we choose Zend Framework?
87
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
60 colleagues using Zend Framework in other projects.
88
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We use Zend Framework more like a component
library.
89
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We use Doctrine 2 instead of Zend_Db_Table.
90
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
We built our own Autoloader.
91
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
What did we use fromZend Framework?
92
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Zend_ApplicationZend_Controller
Zend_ViewZend_Validate
Zend_TranslationZend_LocaleZend_Cache
93
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 94
Frontnode 1Varnish nginx
PHP 5.3
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
PHP 5.3 from Ubuntu 11.04
95
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 96
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 97
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
98
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
98
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
GET mapolis.com 80
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
98
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
GET mapolis.com 80
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
98
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
GET mapolis.com 80
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
99
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
99
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
GET mapolis.com/de/start 80
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
99
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
GET mapolis.com/de/start 80
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
HTTP Request
99
mapolis Core
mapolis Drupal
nginx on port 81 nginx on port 81
Varnish HTTP accelerator
GET mapolis.com/de/start 80
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Frontend
100
⊕Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 101
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 102
JavaScript Framework
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 103
Supported browsers
789
(10)
3.67
(latest)
14(latest)
5.05.1
(latest)(iOS)
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Development
104
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
The Team:1 Scrum Master
2 DevOps4 PHP/JS Developers1 Frontend Developer
105
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Development Tools
106
Used IDE:Zend Studio, PhpStorm, vi and Textmate
Database change management:Liquibase
CSS helper:SASS / Compass
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Development LaptopUbuntu VM withLocal Git repo
Complete software stack
ant <everything>107
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some ant commands
108
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some ant commands
108
$ ant db-development
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some ant commands
108
$ ant db-development
$ ant sync
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some ant commands
108
$ ant db-development
$ ant sync
$ ant phpunit
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some ant commands
108
$ ant db-development
$ ant sync
$ ant phpunit
$ ant jslint
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some ant commands
108
$ ant db-development
$ ant sync
$ ant phpunit
$ ant jslint
$ ant deb
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Some ant commands
108
$ ant db-development
$ ant sync
$ ant phpunit
$ ant jslint
$ ant deb
$ ant build-vm
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Typical commit workflow
109
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Typical commit workflow
109
$ vi Foo.php$ ant phpunit$ ant jslint$ git add Foo.php$ git commit -m ”Bar”$ git pull$ git push
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
<target name="phpunit" depends="db-test" description="Run all tests"> <exec executable="phpunit" failonerror="true"> <arg line="--configuration ${basedir}/tests/phpunit-verbose.xml ${basedir}/tests/AllTests.php" /> </exec></target>
110
ant phpunit
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
One click deployment111
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
And how does it look now?
112
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I 113
Building a Cloud-based social network I Mayflower GmbH I 11th October 2011 I
Questions?
114
Thank you very much!
© 2011 Mayflower GmbH
Contact Thorsten [email protected]+49 89 242054-31@ThorstenRinne
Mayflower GmbHMannhardtstr. 680538 MünchenGermany
Please rate me @ http://joind.in/talk/view/3884