History: Automatic updates
Preview of version: 23
This is the recipe for 1-click updates starting in Tiki25.
Context
1-click updates is a highly-requested capability which is tricky to do right. Risks include:
- broken upgrades
- time-outs
- loss of local modications
- lower security on file permissions
Requirements
- Command line access
- Cron jobs
- Tiki Manager dependencies, or the capability to install them
- Git, etc.
High-level
Once set up, Tiki will update Tiki Manager, and Tiki Manager will update Tiki. Steps:
- Install Tiki from Git manually or with an external Tiki Manager (which you don't need to keep after)
- Set up Scheduler
- Install Tiki Manager Package
- Use Tiki Manager to update Tiki on demand (web or command line) or automatically (via a cron job)
Benefits
While tools have been available for years for auto-updates, they required using the command line. Starting in Tiki25, the command line will only be required for the initial setup.
Updates directly from Git sources
- Can get any revision, and not just released versions
- Can efficiently maintain local modifications
- Before updates/upgrades, there is a check to detect conflicts
- Can use your own Git branch
- Can use merge requests / branches
Pick your preferred lifecycle
- Pick any version (Bleeding edge, stable, Long Term Versions (LTS), etc. See: Versions
Sensible file permissions
Since Tiki Manager is not ran by the web user (like Apache or www), it can set safer file permissions
Background process
Since Tiki Manager is not ran by the web user (like Apache or www), it is not prone to time-out errors
Testing on clones
- Thanks to Tiki Manager, you can easily clone or clone-and-upgrade to have a test environment.
Tons of other features
- Please see Tiki Manager
Before Tiki25 via command line
Tiki Manager
Recent versions of Tiki Manager use Git, but previously, it was SVN
svnup.php
svnup.php which is bundled starting in Tiki17
Copy to clipboard
0 0 * * * cd /var/www/html/; php doc/devtools/svnup.php