pantheon-systems / terminus-site-clone-plugin

A Terminus plugin that adds the `site:clone` command to facilitate cloning sites on Pantheon
MIT License
21 stars 11 forks source link

Terminus Site Clone

Site Clone - A Terminus plugin that adds the site:clone command to facilitate cloning sites on Pantheon.

Actively Maintained

Disclaimer

While this script has worked well for us your mileage may vary due to local machine configuration. If you are having issues with running this plugin locally try using this Dockerfile, which has all the tools needed pre installed.

Installation

Installing via Terminus 3

terminus self:plugin:install pantheon-systems/terminus-site-clone-plugin

Installing with Composer (deprecated method using Terminus 2)

composer -n create-project pantheon-systems/terminus-site-clone-plugin:^2 ~/.terminus/plugins/terminus-site-clone-plugin

Manual installation

Clone this project into your Terminus plugins directory found at $HOME/.terminus/plugins. If the $HOME/.terminus/plugins directory does not exists you can safely create it. You will also need to run composer install in the plugin directory after cloning it. See installing Terminus plugin for details.

Requirements

Usage

terminus site:clone <source>.<env> <destination>.<env> where <source> and <destination> are site UUID or machine name and <env> is a valid environment (dev or multidev).

Code cannot be cloned to or from test and live environments as work must go through the Pantheon workflow. You can, however, use --no-code to clone the files and database to or from a test or live environment. Note that if you use --no-code, the PHP version won't be set to the one from the site you are cloning from.

You can also pass the argument(s) --no-database, --no-files and/or --no-code to skip cloning one or more items. You cannot, however, skip all three as there would be nothing left to clone.

By default, backups are made on both the source and destination environment before cloning. Use --no-source-backup and/or --no-destination-backup to omit one of both backups.

Notes

Changelog

2.0.0

1.0.0

License

MIT