History: Automatic updates
Source of version: 19
Copy to clipboard
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. !! Requirements * Command line access * Cron jobs * Tiki Manager dependencies, or the capability to install them ** Git, etc. !! High-level # Install Tiki from Git (manually or with ((Manager|Tiki Manager)) # Set up ((Scheduler)) # Install ((Tiki Manager Package)) # Use Tiki Manager to update on demand or automatically !! 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: ((tw: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 ((Manager|Tiki Manager)) !! Before Tiki25 via command line !!! Tiki Manager ** ((Manager|Tiki Manager)) *** ((Manager|#manager:instance-update|instance-update)) *** ((Manager|#manager:setup-update|setup-update)) !!! svnup.php [https://gitlab.com/tikiwiki/tiki/-/blob/master/doc/devtools/svnup.php|svnup.php] which is bundled starting in ((Tiki17)) {CODE(caption="An example of this script on a daily cron job")} 0 0 * * * cd /var/www/html/; php doc/devtools/svnup.php {CODE} ~tc~ (alias(1-click updates)) ~/tc~