Slides and examples from my talk at Joomla Day UK 2017
- If you'd like to simply view the slides, go to http://www.ssofb.co.uk/slides/Joomla_Day_UK_2017
- You can watch the talk on YouTube at https://youtu.be/w5ORPXt6W_o
The talk is about DevOps for Joomla, from a practical perspective. It is based on a talk given at J & Beyond 2017, but adapted to contain more balanced and slightly less technical content. It is intended to cover the whole area, with specific details pulled out and drilled into.
Aspects covered in the talk include
- The convergence of development and operations to form DevOps
- An introduction to continuous integration and continuous delivery
- Deployment automation
- Using Joomla docker containers
- Automated deployment with Akeeba UNiTE
- Scripting options and choosing between node.js, shell and php
- Headless browser options like Casper, PhantomJS and Zombie.js
- CI platform options, like GitLab, Bamboo, Travis, Jenkins and GoCD
- Simple monitoring solutions
- Diagnostic tools
The talk will be supported by a repository of examples code and notes in GitHub.
See also http://www.joomla-day.uk and http://www.joomla-day.uk/component/timetable/event/devops-for-joomla
The slides are done in Reveal.js so that is needed to run the slidedeck. See https://github.com/hakimel/reveal.js for more info.
-
Joomla - https://joomla.org
-
Joomla CLI - https://github.com/joomla-projects/cli-update
-
Akeeba - https://www.akeebabackup.com
-
Joomlatools Vagrant - https://github.com/joomlatools/joomlatools-vagrant
-
Overview of Git Hooks - https://www.atlassian.com/git/tutorials/git-hooks
-
git-ftp - https://github.com/git-ftp/git-ftp
-
CasperJS - https://github.com/casperjs/casperjs
-
Codeception - http://www.codeception.com/
-
CodeceptJS - http://www.codecept.io/ and https://github.com/Codeception/CodeceptJS
-
Docker - https://www.docker.com/ & https://hub.docker.com/_/joomla/
-
Vagrant - https://www.vagrantup.com/
-
GitLab - https://gitlab.com/
-
Bitbucket - https://bitbucket.org/
-
Assembla - https://assembla.com/
-
Github - https://github.com/
-
Jenkins - https://jenkins.io
-
Travis - https://travis-ci.org
-
Go.cd - https://go.cd
-
Circle.ci - https://circleci.com
-
phpservermon - https://github.com/phpservermon/phpservermon
-
Cacti
-
Datadog
-
New relic - https://newrelic.com
-
UptimeRobot - http://www.uptimerobot.com/
-
Montastic - http://www.montastic.com/
-
MyJoomla - http://www.myjoomla.com/
-
Watchfully - http://www.watchful.li/
If you've any queries about anything mentioned in the slidedeck or examples, let me know. https://twitter.com/AndyGasman
Clone the repo from github to local...
git clone https://github.com/AndyGaskell/Joomla_Day_UK_2017.git
Add a file...
git add dist/blah.php
Commit...
git commit -m "updates"
Commit...
git commit -a -m "updates"
Send updates to master...
git push -u origin master
Get updates from master...
git fetch origin
git pull