deploying joomla sites with git
TRANSCRIPT
Deploying Joomla sites with GIT
Ashwin DateCTO, TechjoomlaDirector, Tekdi Web Solutions@coolbung | @techjoomlawww.techjoomla.com
My Joomla! connection
5-star personality on the Joomla Forum
Started using Joomla since Mambo days
Started on development work since Joomla 1.0
What is the presentation about ?
GIT - Replacement for FTP
Not the only way, just a guideline
My learning on the way
Looking out for more ideas!
Why GIT ?
Distributed, unlike SVN
Developers can work locally and commit changes
Finally merge remote changes with their own
Replacement for FTP
Work locally and commit files
And then commit some more
Once happy tag your repo
Push the tag
Pull the tag on the remote server
But why GIT ?
You overwrote my changes!
Something happened and the site crashed!
Setting Up
Plan your site
Decide on the extensions to be used beforehand
Putting the entire Joomla in GIT
Then put the extensions in
Gives a reference starting point
Working with Joomla / Extensions
Developers can work locally and commit changes
Merge remote changes with their own
Each application version is tagged
Tags used to pull & deploy a version to staging/production
Doing the Deployment
Server has a clone of the repository
Pull the latest changes
Checkout the tag
Copy tag files to httpdocs-
Symlink your httpdocs to httpdocs-
In case of a problem, easily roll back to last version, since each version is just a symlinked folder
Write a small .htversion file to your Joomla root. Can be used to display application version
Doing the Deployment
Managing Upgrades
Perform upgrade on development clone
Push updated files
Perform the deployment as usual
Careful!
Installing new extensions
Managing configurations
Handling database changes
Document manual changes needed in all the versions
Automation
Script to perform deployments - https://github.com/techjoomla/Joomla-Extensions/tree/master/scripts
Thank You
Ashwin DateTwitter : @coolbung / @techjoomlaEmail : [email protected]://www.slideshare.net/coolbung